操作
調査 #164
未完了
高徹
高徹
log4j2の設定による性能の差異を把握する
調査 #164:
log4j2の設定による性能の差異を把握する
開始日:
2020/07/25
期日:
進捗率:
80%
予定工数:
説明
調査目的¶
log4j 2.xのAppender、ログ出力設定(Pattern)により性能がどれだけ変わるのか凡その把握をする。
調査結果¶
シングルスレッドのアプリケーション(JavaFXアプリケーション)で繰り返し処理(1万回強)の中にログ出力を埋め込み、処理時間の比較でログの負荷を評価した。
| No. | 概要 | 時間[ms] | 備考 |
|---|---|---|---|
| 1 | 同期ログ出力 | 906 | |
| 2 | 同期ログ出力(動的コンテキスト取得) | 2213 | |
| 3 | 非同期ログ出力 | 653 | |
| 4 | 非同期ログ出力(動的コンテキスト取得) | 1857 |
- 動的コンテキスト取得は、ファイル名、行番号、メソッド名の取得
実行環境¶
| OS | Windows 10 1909 64bit 日本語版 |
| CPU | AMD PhenomⅡ 1050T |
| JDK | Liberica JDK 14 Full |
| log4j | 2.13.3 |
| disruptor | 3.4.2 |
完了条件¶
- 標準の同期ロガーと非同期ロガー(LMAX disruptorを内部で使用)との性能差が把握できた
- Pattern に動的な要素(ログを実行したメソッド名等)を入れた場合の性能劣化が把握できた
操作