📉
【k6】システムの性能評価:パフォーマンステストのガイドと目的別簡易まとめ
概要
k6のパフォーマンステスト種別一覧ページをもとに、
それぞれの試験目的と概要を、目的別に纏めました。
目的別、パフォーマンステスト一覧
目的:システムの安定動作評価
- Smoke tests(スモークテスト)
- Average-load test(アベレージロードテスト)
- Soak tests(ソークテスト)
目的:高負荷時のシステムの動作評価
- Breakpoint tests (ブレイクポイントテスト)
- Stress tests(ストレステスト)
- Spike tests(スパイクテスト)
目的:システムの安定動作評価
低い負荷の状態で、システムが安定して動作するかを評価します。
実行タイミングは機能改修時や新機能追加時など、必要な場合はいつでも実行しましょう。
次の負荷試験が該当します。
- Smoke tests(スモークテスト)
- Average-load test(アベレージロードテスト)
- Soak tests(ソークテスト)
1. Smoke tests(スモークテスト)
- 負荷:低
- 計測時間:数秒~数分
- 目的:最小限の負荷下でも、
システムが十分に動作することを検証します。 - 再現シナリオ:
https://k6.io/docs/test-types/smoke-testing/#smoke-testing-in-k6
2. Average-load test(アベレージロードテスト)
- 負荷:プロダクトにかかる平均的な負荷
- 計測時間:15分~1時間
- 目的:平均的な負荷状況下で、
システムがどのように動作するかを評価します。 - 再現シナリオ:
https://k6.io/docs/test-types/load-testing/#average-load-testing-in-k6
3. Soak tests(ソークテスト)
- 負荷:プロダクトにかかる平均的な負荷
- 計測時間:1時間以上~(場合によっては日単位)
- 目的:平均的な負荷状況下で、長時間稼働した場合、
システムがどのように動作するかを評価します。 - 再現シナリオ:
https://k6.io/docs/test-types/soak-testing/#soak-testing-in-k6
目的:高負荷時のシステムの動作評価
負荷を高い水準まで増加させ、システムがどのようなパフォーマンスを発揮するかを評価します。
次の負荷試験が該当します。
- Breakpoint tests (ブレイクポイントテスト)
- Stress tests(ストレステスト)
- Spike tests(スパイクテスト)
1. Breakpoint tests (ブレイクポイントテスト)
- 負荷:任意
- 計測時間:任意
- 目的:負荷を徐々に増加させて、
システムがどこで限界を迎えるかを特定するために使用します。 - 再現シナリオ:
https://k6.io/docs/test-types/breakpoint-testing/#breakpoint-testing-in-k6
2. Stress tests(ストレステスト)
- 負荷:プロダクトにかかる平均的な負荷を超えた数値
- 計測時間:15分~1時間
- 目的:予想される平均を超えた負荷の状況下で、
システムがどのように動作するかを評価します。 - 再現シナリオ:
https://k6.io/docs/test-types/stress-testing/#stress-testing-in-k6
3. Spike tests(スパイクテスト)
- 負荷:非常に高い負荷
- 計測時間:数秒
- 目的:突然の短時間の大幅なアクセス増加(例:ECサイトのセール時など)が発生した場合に、
システムが落ちないで動作することを検証します。 - 再現シナリオ:
https://k6.io/docs/test-types/spike-testing/#spike-testing-in-k6
Discussion