JMeterを使った負荷テスト実施(トラブル編)

您所在的位置:网站首页 jmeter503错误 JMeterを使った負荷テスト実施(トラブル編)

JMeterを使った負荷テスト実施(トラブル編)

2024-04-29 17:35| 来源: 网络整理| 查看: 265

JMeterのインストールからシナリオ作成、シナリオ実施まで一通りやってきました。JMeterシリーズはこちらです。

今回はこんな時はどうする? という部分の追記になります。

スポンサーリンク こんな時はCase 01. シナリオ実行中、途中からエラーが発生するようになるCase 02. 計算より早い段階でエラーが発生してしまうCase 03. 本当に負荷が掛かっているのか怪しいCase 05. JMeterでテストを実行するとストレージの空き容量が減る詳しく知りたい方は書籍がオススメ こんな時は Case 01. シナリオ実行中、途中からエラーが発生するようになる

これを発見するために性能試験を実施していますので、この状態が発生したら喜んでください!

但し、正しくテストを実施できていない可能性がありますので、次のポイントを確認しましょう。

エラーが発生したHTTPサンプラーのレスポンスの中身を確認してください。HTTPステータスコード500などで戻ってきている場合は、Webサーバ側のログを確認しましょう。原因が特定できると思います。

ここにはJMeterのスタックトレースが出力されていることがありますので、特にテスト対象のシステムがJavaで作られている場合は勘違いしやすいので注意が必要です。まぁ冷静に考えるとHTTPレスポンスでスタックトレースを返すわけがないので気が付きそうなものですが、テスト期間中で納期に追われていると案外見落とします。

Case 02. 計算より早い段階でエラーが発生してしまう

もっとリクエストを捌けるはずだったのに、なぜか想定より早めにエラーが発生する。

長いシナリオの場合はスレッド数が多すぎると、スレッドが終了する前に次のスレッドが起動してしまい、テスト実施中盤にてリクエストの多重度が想定以上になることがあります。

この場合は、スレッド数を減らして均すか、シナリオに定数タイマーを追加してリクエストが集中しないよう調整するとよいでしょう。

Case 03. 本当に負荷が掛かっているのか怪しい

これもあるあるですが、あまりにも高負荷設定でJMeterを実行すると一見その負荷でテストを実施した用に見えますが、サーバ側のアクセスログと突き合わせると想定密度でリクエストが来ていない、ということがあります。

この場合は、JMeterを実行しているパソコン側の性能不足の可能性があります。JMeter自体もJavaで作られており、限界があります。

このような時は、GUI実行が重いので、CUIで実行してみてください。

それでもまだ負荷が掛けきれていないという場合は、JMeterを実行するパソコンを増やすか、または専用パソコンを用意しましょう。

わざわざそのためだけにパソコンを購入するのももったいないので、GCP/AWS等なら専用の高スペックインスタンスを作ってそこから実行するとよいでしょう。

それでも足りない場合は、JMeter実行インスタンスをスケールアウトしましょう。

JMeterはJavaで作られているため、JMeter本体のVMメモリが不足するとフルGCが実行されてしまいます。

この状態になるとシナリオ実行が停止されてしまうため、想定していた負荷がかからなくなってしまいますので、これも注意が必要です。

長いシナリオを大量のスレッドで実行する場合などはVMのメモリ割り当てを増やすなどして、GCが実行されないようにします。

Case 05. JMeterでテストを実行するとストレージの空き容量が減る

JMeterは設定を変更しないとJMeterのログを残します。

ちょっと油断すると、こんな感じで大きなログファイルが作成されてしまいますので注意が必要です。

GUIで動かすから特にログは記録しなくてよい、という場合は、ログの出力設定をOFFにすればログが出力されなくなります。

設定変更前に出力されたログは自動では消えませんので、手で削除してください。JMeterの本体が格納されている bin フォルダ内に jmeter.log という名前で作成されていると思います。

スポンサーリンク 詳しく知りたい方は書籍がオススメ

私もこれからも使っていきますので、なにかトラブルがあって解決した時は、ここに追記していこうと思います。

おすすめ書籍の紹介コーナー

システム開発に性能テストは不可欠です。ほとんどのシステム開発現場で性能テストを実施しましたので、JMeterの使い方は習得しておいて損はありません。むしろ推奨します。

Amazon Web Services負荷試験入門―クラウドの性能の引き出し方がわかる (Software ...クラウドの性能が期待どおりに出ていますか?クラウド環境(Amazon Web Services)を前提としてアプリケーション開発し、それを運用することはごく普通なものになりました。しかし、実際にシステムをサービス開始してみると、想定したパフォーマンスを達成できないことが多々あります。amzn.to

そして求められる性能が出せない場合は、チューニングしましょう。ここまでがワンセットです。

達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践LINE株式会社が主催するWebサービスのパフォーマンスチューニングコンテスト、ISUCON(Iikanjini Speed Up Contest)で技術を競い合ってきた著者がWebサービス高速化のための考え方とノウハウをわかりやすく解説。本書では、お題となるWebサービスをひとつ用意して、手を動かしながら高速化手法を学んでいきます。amzn.to



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3