プロジェクト

全般

プロフィール

調査 #164

高橋 徹 さんがほぼ4年前に更新

h4. 調査目的 

 log4j 2.xのAppender、ログ出力設定(Pattern)により性能がどれだけ変わるのか凡その把握をする。 

 h4. 調査結果 

 シングルスレッドのアプリケーション(JavaFXアプリケーション)で繰り返し処理(1万回強)の中にログ出力を埋め込み、処理時間の比較でログの負荷を評価した。 

 |_. No.|_. 概要 |_. 時間[ms]|_. 備考 | 
 | 1      |同期ログ出力 |>. 906 | | 
 | 2      |同期ログ出力(動的コンテキスト取得)|>. 2213 | 
 | 3      |非同期ログ出力 |>. 653 | 
 | 4      |非同期ログ出力(動的コンテキスト取得)|>. 1857 | 

 * 動的コンテキスト取得は、ファイル名、行番号、メソッド名の取得 

 h5. 実行環境 

 |OS    | Windows 10 1909 64bit 日本語版 | 
 |CPU | AMD PhenomⅡ 1050T | 
 |JDK | Liberica JDK 14 Full| 
 |log4j | 2.13.3 | 
 |disruptor | 3.4.2 | 

 h4. 完了条件 

 * 標準の同期ロガーと非同期ロガー(LMAX disruptorを内部で使用)との性能差が把握できた 標準のFileAppender、AsyncAppender、LMAX disruptorとの性能差が把握できた 
 * Pattern に動的な要素(ログを実行したメソッド名等)を入れた場合の性能劣化が把握できた 

戻る