JMeterAtoZ

負荷テストツールの代表選手、JMeter。シナリオの作り方から実行方法までまとめて解説!

基礎知識

負荷テストとは

2016/10/05

負荷テストとは、システムに大量のデータを投入し、高い負荷をかけて行うテストです。性能テストやパフォーマンステスト、負荷試験などと言われることもあります。

単体テストや結合テストはプログラムの正常動作を確認するためのものですが、負荷テストは、高負荷という特定条件下での正常動作を確認します。そのため、一通りのテストが完了した最終フェーズで行われることが多くなります。

負荷テストを実施することで、次の3つのことを確認することができます。

  • 性能の証明
  • 限界超過時のふるまい
  • 高負荷継続時のふるまい

一つずつ説明していきましょう。

性能の証明

性能の証明が負荷テストの大きな役割の一つです。

性能要件が定められている場合、要件が満たされていることを示す必要があります。性能要件はスループットや応答速度などで定義します。定義した値を負荷テストで上回る数値を確認していきます。

“同時に100人が利用できること”というような、性能要件が曖昧な場合は、正しく評価を行うことができません。具体的な性能評価の方法や性能要件の定義の仕方を次の記事にまとめています。

参考リンク:性能評価の方法

限界超過時のふるまい

限界を超える状況になった場合、システムがどのようなふるまいをするのか?想定している動作をするのか?

これを事前に知っておくことで、「もしも」のときの対処がしやすくなります。また、致命的な問題を事前につぶすことができるかもしれません。

大抵の場合、想定している動作は次のようのものでしょうか。

  • 極端に応答速度が低下する
  • 「ただいま、混み合っています」とソーリーページが表示される

次のような状態になってしまった場合は、対処法の検討が必要です。

  • 特定のサーバのみに負荷が偏って発生する
  • エラーメッセージが画面に表示されてしまう
  • データが破損してしまう
  • サーバのディスク容量が足りなくなる
  • システムがダウンする

高負荷継続時のふるまい

限界には達していないが、高負荷の状態が長時間続いた場合の挙動もチェックしておくとよいでしょう。

性能要件より少ない負荷でも長時間続くと予期せぬ挙動を示す場合があります。

  • メモリリークが発生し、メモリ不足になりシステムが停止する
  • 頻繁に更新されるセッション管理テーブルなどが増大し、ディスク容量の不足が発生する
  • アクセスログやエラーログが誇大化し、ディスク容量の不足が発生する

時間と手間がかかるテストですが、ここまでやっておくと安心です。

まとめ

負荷テストをすることでわかることは、主に次の3つである。とういことを紹介しました。

  • 性能の証明
  • 限界超過時のふるまい
  • 高負荷継続時のふるまい

同じ負荷テストでも、目的が異なれば方法が異なってきます。負荷テストの実施を検討する場合は、まず目的を明確にすることが重要です。

-基礎知識