2009-09-22 90 views
2

我有一個在Win2k3虛擬機上的Apache Tomcat 5.5上運行的應用程序。該應用程序提供XML以供某些電話設備使用,作爲我們的IVR基礎設施的一部分。反過來,應用程序接收來自少數SOAP服務的信息。java.net.SocketException:導致連接中斷的軟件:recv failed;原因和治療?

今天早上,SOAP服務間歇性超時,導致各種異常。一旦停止,我注意到我們的應用程序仍然表現得非常慢,因爲它花了很長時間來渲染和交付頁面。在使用Tomcat輸出的設備上,以及從我的Web瀏覽器請求一些靜態文檔的簡單測試中都看到了這種緩慢。

重新啓動Tomcat立即解決了問題。

破解打開本地主機的日誌,我看到一噸的這些錯誤的,正確的,直到我重新啓動Tomcat的:

WARNING: Exception thrown whilst processing POSTed parameters 
java.net.SocketException: Software caused connection abort: recv failed 

大的谷歌搜索後,我的工作原理是,SOAP問題引起我的用戶得到錯誤,導致他們提出更多請求,這會增加應用程序的負載。這導致它用盡了可用的套接字來處理傳入的請求。

所以,這是我的窘境:
1.這是一個有效的假設,或者我只是在我的頭上與HTTP和Tomcat?
2.如果這是一個有效的假設,是否有辦法增加「套接字隊列」的大小,以便將來不會發生這種情況?

謝謝!
IVR復仇者

+0

[官方原因爲「軟件引起的連接中止:套接字寫入錯誤」]的可能的重複(http://stackoverflow.com/questions/2126607/official-reasons-for-software-caused-connection-abort-socket-寫錯誤) – EJP 2012-09-18 06:07:52

回答

0

您是否碰巧還檢查JVM如何執行?當網站內存不足時,我看到了類似的行爲。

只要可用連接的數量 - 你可以在tomcat conf/server.xml中調整它 - 但默認情況下是150(這是對於tomcat 6.0 - 對於tomcat 5.5不確定)。

+0

我不知道。如果再次發生這種情況,我將在重新啓動之前檢查所有的Tomcat和JVM統計信息。感謝有關連接的信息! – 2009-09-22 20:35:55

相關問題