2012-02-22 64 views
3

簡單的問題是,通過FastCommonAccessLogValve使用AccessLogValve是否存在確定的,可量化的開銷?使用JBoss的AccessLogValve記錄請求的性能影響是什麼?

如果我在JBoss 4.2.3GA中啓用訪問日誌,我可以使用FastCommonAccessLogValve或AccessLogValve(如http://tomcat.apache.org/tomcat-5.5-doc/config/valve.html所述)。 FastCommonAccessLogValve針對生產使用進行了優化,但不允許我記錄請求處理的時間,這是我之後的關鍵信息。

我已經運行了一些比較負載測試,將我的應用程序置於輕負載下,以便AccessLogValve的開銷不會因服務器負載造成的較長處理時間而隱藏。然而,相比於FastCommonAccessLogValve或無日誌記錄,AccessLogValve的任何開銷都小於我從應用程序本身獲得的變化。例如,與不帶日誌閥的基準測試相比,我的平均測試時間爲99.7%(啓用AccessLogValve),103.4%的時間(另一次運行AccessLogValve時啓用)或105.4%的時間(與FastCommonAccessLogValve)啓用。

這個範圍的結果表明開銷是〜5%嗎?或者我需要花費時間,以便在沒有啓用日誌記錄的情況下,我的負載測試產生更加一致的定時?這是一個複雜的應用程序,所以我不知道這是可能的

回答

1

我認爲你是通過嘗試基準你的應用程序做正確的事情。瞭解性能影響的唯一方法是使用或不使用AccessLogValve進行基準測試。

AccessLogValve的開發人員竭盡全力優化閥門的性能,至少在最常見的模式下性能可以忽略不計(在我的測試中爲1-3%)。

話雖如此,但確實很難說沒有做這些基準測試。

希望這是有幫助的。

祝你好運!

+0

謝謝。這就說得通了。最後,我們決定依賴其他日誌(Web服務器日誌),但可能會重新訪問JBoss日誌記錄。 – 2012-03-21 09:04:55

相關問題