📉

【k6】システムの性能評価:パフォーマンステストのガイドと目的別簡易まとめ

2023/05/07に公開

概要

k6のパフォーマンステスト種別一覧ページをもとに、
それぞれの試験目的と概要を、目的別に纏めました。
https://k6.io/docs/test-types/load-test-types/

目的別、パフォーマンステスト一覧

目的:システムの安定動作評価

  1. Smoke tests(スモークテスト)
  2. Average-load test(アベレージロードテスト)
  3. Soak tests(ソークテスト)

目的:高負荷時のシステムの動作評価

  1. Breakpoint tests (ブレイクポイントテスト)
  2. Stress tests(ストレステスト)
  3. Spike tests(スパイクテスト)

目的:システムの安定動作評価

低い負荷の状態で、システムが安定して動作するかを評価します。
実行タイミングは機能改修時や新機能追加時など、必要な場合はいつでも実行しましょう。
次の負荷試験が該当します。

  1. Smoke tests(スモークテスト)
  2. Average-load test(アベレージロードテスト)
  3. Soak tests(ソークテスト)

1. Smoke tests(スモークテスト)

Smoke tests(スモークテスト)のグラフ

2. Average-load test(アベレージロードテスト)

Average-load test(アベレージロードテスト)のグラフ

3. Soak tests(ソークテスト)

Soak tests(ソークテスト)のグラフ

  • 負荷:プロダクトにかかる平均的な負荷
  • 計測時間:1時間以上~(場合によっては日単位)
  • 目的:平均的な負荷状況下で、長時間稼働した場合、
    システムがどのように動作するかを評価します。
  • 再現シナリオ:
    https://k6.io/docs/test-types/soak-testing/#soak-testing-in-k6

目的:高負荷時のシステムの動作評価

負荷を高い水準まで増加させ、システムがどのようなパフォーマンスを発揮するかを評価します。
次の負荷試験が該当します。

  1. Breakpoint tests (ブレイクポイントテスト)
  2. Stress tests(ストレステスト)
  3. Spike tests(スパイクテスト)

1. Breakpoint tests (ブレイクポイントテスト)

のグラフ

2. Stress tests(ストレステスト)

Stress tests(ストレステスト)のグラフ

  • 負荷:プロダクトにかかる平均的な負荷を超えた数値
  • 計測時間:15分~1時間
  • 目的:予想される平均を超えた負荷の状況下で、
    システムがどのように動作するかを評価します。
  • 再現シナリオ:
    https://k6.io/docs/test-types/stress-testing/#stress-testing-in-k6

3. Spike tests(スパイクテスト)

Spike tests(スパイクテスト)のグラフ

  • 負荷:非常に高い負荷
  • 計測時間:数秒
  • 目的:突然の短時間の大幅なアクセス増加(例:ECサイトのセール時など)が発生した場合に、
    システムが落ちないで動作することを検証します。
  • 再現シナリオ:
    https://k6.io/docs/test-types/spike-testing/#spike-testing-in-k6

Discussion