JBoss AS 7性能調優(四)

 原文:http://www.mastertheboss.com/jboss-performance/jboss-as-7-performance-tuning/page-5

 

Logging調優

記錄日誌是每一個應用程序的一個重要任務,默認的配置一般只適合開發,但不適用於生產環境。

您切換到生產環境時需要考慮的關鍵要素是:

1.   選擇一個合適的輸出日誌的處理handler。
2.   選擇一個合適的日誌級別,它恰好可以提供給你需要的足夠信息,不多也不少。
3.   選擇一個合適的日誌輸出格式。

鑑於一般考慮,日誌的處理handler,默認配置會啓動控制檯和文件的日誌輸出。雖然這可能在開發環境中是合適的,但在生產環境中使用控制檯日誌輸出將會是一個昂貴的處理過程,導致大量的非緩衝I / O。雖然一些應用程序可能適合控制檯日誌輸出,但大多數應用更適合關閉控制檯日誌輸出,只使用文件輸出的處理handler。
爲了去掉控制檯日誌,你可以簡單地註釋掉其處理handler:

<root-logger>

  <level name="INFO"/>

   <handlers>

     <!--   <handler name="CONSOLE"/> -->

   <handler name="FILE"/>

  </handlers>

</root-logger>

下一步是選擇正確的日誌記錄級別。顯然,記錄的日誌越少,發生的I / O就越少,這樣您的整個應用程序的性能會更好。默認配置使用“INFO”級別根記錄器。你可以考慮提高到較高的級別,如“WARN”或(使用細粒度的approach)改變單一的日誌記錄類別(category)。

<logger category="org.hibernate">

  <level name="WARN"/>

</logger>

在這個例子中,我們剛纔提出的org.hibernate包使用“WARN”級別,這將從Hibernate中輸出更加簡潔的日誌信息。
最後,日誌模式(pattern)也會影響您的應用程序的性能。例如,我們使用默認模式格式,如下所示:

<pattern-formatter

 pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

日誌記錄模式的詳細解釋可以在第2章的控制檯處理handler內容中找到。從這個基本格式開始,可儘可能考慮添加標誌%l,可以通過打印出行號和發出日誌的Class來提高你的日誌的詳細程度:

<pattern-formatter

 pattern="%l %d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>

一旦服務器配置被重新加載,控制檯輸出下面的日誌信息:


雖然這些信息在開發時非常有用,但它會導致移植到生產環境中產生很大的性能負擔。
其它可能對你的日誌性能造成負面影響的標誌有%C(打印出調用者的Class信息),%M(它輸出打印日誌的方法)和%F(它輸出發出日誌記錄請求的文件名)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章