2014-02-06 79 views
0

我是新來的Java/Apache tomcatAzure web角色runnig Java返回500

我需要使用java在azure雲服務中構建Web服務。 Web服務運行在apache tomcat 7,jdk 1.7上,並與一個在azure虛擬機上運行的mongo-db通信。

該服務被用作存儲在mongodb中的位複雜鍵值數據的「代理」,並且在不久的將來它應該被大量請求。

它在開發過程中可以很好地工作,在生產中開始使用它時(約100K請求一天),它在一段時間後開始返回500(502和503)。重新啓動雲服務服務器正在解決此問題,但在一兩天後它再次發生。

它似乎並不是與大負載相關的事情,因爲CPU數據很好(不超過70%,大部分爲30%)。

這個問題與mongodb無關,因爲它的CPU小於2%,並且在重新啓動java角色時它一切正常。

我錯過了服務器設置中的一些東西嗎?

回答

0

聽起來像是內存泄漏。應用標準的故障排除技術 - Azure與其他任何環境運行Java沒有區別。您需要在您的開發環境中進行一些負載測試,以模擬您的~100k/24小時請求(即每秒鐘1.15秒的響應時間不會太長)。

+0

好吧,你可能是正確的,我有沒有關閉的代碼連接,並導致一些資源瓶頸(我認爲網絡連接限制..) –