起動オプション-LでログレベルをWARNに設定してもINFOログが出力されます。
jmeter -LWARN
以下の順序で、指定したログレベル以上のログしか出ないのではないですか?
DEBUG < INFO < WARN < ERROR < FATAL
INFOログの出力を抑制するにはどうしたらいいでしょうか?
-Lオプションではログレベルを下げることしかできません。 binディレクトリにあるjmeter.propertiesのlog_level.jmeterをWARNに設定してください。
log_level.jmeter=WARN
ログレベルをDEBUGに下げる場合は-Lオプションが有効です。
jmeter -LDEBUG
テスト実行時に独自のログを出力して残したいです。 log.info関数でjmeter.logに出力すると他のログと混じってしまいます。 専用のログファイルに出力することは出来ないでしょうか?
BeanShellを使う場合、print関数の出力先を変える方法が簡単です。
f = new FileOutputStream("my_log.txt", true);
p = new PrintStream(f, true, "UTF-8");
this.interpreter.setOut(p);
以上のソースコードでprint関数の出力先を、標準出力から「my_log.txt」に変更することができます。
「統計レポート」リスナーに表示される、"Throughput"(スループット)の数値はどのように算出されていますか?
計算式は以下の通りです
スループット = サンプル数 ÷ ( MAX(リクエスト開始時間 + Elapsed Time) - MIN(リクエスト開始時間) )
このためRamp-Up 期間やタイマーによる待ち時間の影響を受けます。 スループットの値では、アプリケーションの性能を表すことが出来ないので注意して下さい。
アプリケーションの性能を評価するには、次の手順を踏む必要があります。
- シナリオを作成する
- 負荷を変更しながらスループットを取得する
- 負荷を上げてもスループットが上昇しなくなる負荷を探す
- その時に処理したリクエスト数でアプリケーションの性能を評価する
BeanShell PostProcessorで次のコードを実行してもアサーション結果が0件しか取得できません。
assertionResults = prev.getAssertionResults();
print(assertionResults.length);
PostProcessorはアサーションより先に実行されるため、アサーション結果を取得できません。
コンポーネントは次の順序で実行されます。
- 設定エレメント
- PreProcessor
- タイマー
- サンプラー
- PostProcessor
- アサーション
- リスナー
アサーション結果を確認するためのアサーションを追加してください。