2013-05-28 131 views
0

我已經在全國各地(加拿大)部署了一個非常大的應用程序,這意味着很多併發連接。當前線程忙於Tomcat狀態的處理是什麼?

最近我們已經達到了併發線程的最大數量,因爲我們的jBoss被配置爲40個最大線程。現在它是250,所以我們很好。

時不時地,我期待在Tomcat的狀態頁面,我看到線程JavaScript文件,CSS文件,支柱(JAVA)動作等

怎麼會在JavaScript或CSS文件中的線程爲了我的生命而不是幾秒鐘?我認爲線程只在頁面加載期間(當客戶端將javascript文件下載到緩存時)。我對嗎?

示例條目

Stage: S 
Time: 1127110823 ms 
B Sent: 0 KB 
B Recv: 0 KB 
Client: client's ip address... 
VHost: server's vhost... 
Request: GET /que/2715/jsp/common/js/jquery/jquery.maskedinput.js HTTP/1.1 

這個人是一直在這裏。我不明白爲什麼...

我想了解所有這些信息,然後改變我的方式代碼以釋放一些當前線程。

謝謝大家幫忙

查爾斯

回答

1

錯誤操作的HTTP客戶端可能無法ack'ing您的TCP數據包,即使是非常小的文件,和Tomcat正在等待ACK的,因爲它不希望關閉連接,直到確定客戶端獲得了所有信息。檢查server.xml中HTTP連接器的超時值(尤其是connectionTimeout),並確保它們未設置爲非常大的值或-1(等待無限次)。

有關配置中超時設置的更多信息,請參閱http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

-Larry 
+0

沒有一個server.xml超時會影響此行爲。你所描述的是由TCP堆棧完成的,而不是由Tomcat完成的。 – EJP

+0

看起來像我們託管的環境在jBoss前面使用mod_jk。請參閱:http://1.bp.blogspot.com/_y8SmAu6cJZ4/TTpexxSN10I/AAAAAAAAAH4/lYekuJOxwMQ/s1600/Tomcat-cluster-diagram.png –

+0

問題是我們在Windows環境中沒有遇到過這種問題( jBoss作爲Windows服務運行,直接使用HTTP協議)。是否有任何配置可以解決新環境(apache和mod_jk)上的問題?感謝您的幫助 –

相關問題