2012-03-20 21 views
4

其實我正在設計一個必須高度可用的Java應用程序服務器上的軟件。所以我還計劃包括一個監測系統,它將檢測應用服務器上的錯誤。我可能會使用JMX來做到這一點。那麼在Java應用服務器的生命週期中可能會發生什麼?我應該監視什麼?在Java應用程序服務器的生命週期中可能發生什麼問題?

  • 如果發生OutOfMemoryError?
  • 如果應用程序服務器有足夠的內存?

還有什麼?

感謝答覆

+1

對於JVM,OutOfMemoryError應被視爲致命錯誤。如果發生這種情況,您可能需要重新啓動應用程序服務器進程。 – Dev 2012-03-20 00:30:26

回答

4

我假設你是在相關的應用服務器,而不是應用程序錯誤最感興趣。

相關應用服務器的錯誤可能落在下貓

  1. 記憶下 - 這些錯誤,正如你所指出的內存不足,PermGen的等等。您可以使用JMX控制檯或使用JMX API輕鬆監視這些內容。
  2. 網絡 - 這些錯誤是由於防火牆或不可靠的網絡或網絡擁塞而發生的。取決於您可能需要哪些不同的工具來診斷問題。網絡問題的結果通常會導致服務不可用性,性能問題,HA故障,集羣解體等等。
  3. 安全性 - 這些不一定是錯誤,但您需要監控以確保沒有違規。
  4. 性能 - 性能是一個巨大的主題,但一般而言,無論是連接池還是線程池還是內存池,都需要監視對性能至關重要的資源,因爲這些將決定應用程序的執行方式。
  5. 資源約束 - 這是您需要更好地理解您的應用程序以配置足夠的資源來處理請求的地方。否則,你會看到erros。例如:如果您期望100個併發用戶,您需要至少100個線程來處理所有這些請求,否則您將開始刪除請求。

我在識別應用程序服務器中的潛在錯誤時非常通用。可能會有更多,取決於您選擇的應用程序服務器。也取決於您的選擇,您的監控工具可能會有所不同

希望得到這個幫助。

祝你好運!