stress-testing について
システムの容量限界、障害時の挙動、復旧能力を調べるストレステストのスキルです。高負荷時の検証を行うチーム向けに、複数のテスト手法を案内します。
主な機能
- 01容量限界と限界点の分析
- 02スパイク・長時間負荷テストのガイド
- 03オートスケーリングの検証
- 04障害復旧の確認
- 05負荷監視とクリーンアップの実践
活用シーン
- 01デプロイ前の容量限界の把握
- 02トラフィック急増時の挙動確認
- 03障害後の復旧能力の検証
- 04容量とグレースフルデグレードの計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill stress-testingインストール後、Claude Code で/stress-testingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/auto-scaling-validation.mdbreaking-point-analysis.mdjmeter-stress-test.mdk6-stress-testing.mdsoakendurance-testing.mdspike-testing.mdscripts/scaffold-tests.shtemplates/test-template.js詳細
ストレステスト
目次
概要
ストレステストでは、通常の稼働能力を超える負荷をシステムにかけ、限界点、障害モード、復旧時の動作を特定します。極端な条件下でのシステムの安定性を検証し、性能低下や障害が発生する前の最大容量を判断するのに役立ちます。
使用する場面
- システムの容量上限を見つける
- 限界点を特定する
- オートスケーリングの動作をテストする
- 高負荷時のエラー処理を検証する
- 障害発生後の復旧をテストする
- 必要な容量を計画する
- グレースフルデグラデーションを確認する
- 急増するトラフィックへの対応をテストする
クイックスタート
最小限の実行例:
// stress-test.js
import http from "k6/http";
import { check, sleep } from "k6";
import { Rate } from "k6/metrics";
const errorRate = new Rate("errors");
export const options = {
stages: [
// Stress testing: Progressive load increase
{ duration: "2m", target: 100 }, // Normal load
{ duration: "5m", target: 100 }, // Sustain normal
{ duration: "2m", target: 200 }, // Above normal
{ duration: "5m", target: 200 }, // Sustain above normal
{ duration: "2m", target: 300 }, // Breaking point approaching
{ duration: "5m", target: 300 }, // Sustain high load
{ duration: "2m", target: 400 }, // Beyond capacity
{ duration: "5m", target: 400 }, // System under stress
{ duration: "5m", target: 0 }, // Gradual recovery
],
thresholds: {
http_req_duration: ["p(99)<1000"], // 99% under 1s during stress
http_req_failed: ["rate<0.05"], // Allow 5% error rate under stress
errors: ["rate<0.1"],
},
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリにある詳細な実装:
| ガイド | 内容 |
|---|---|
| k6 Stress Testing | k6 ストレステスト |
| Spike Testing | スパイクテスト |
| Soak/Endurance Testing | ソーク/耐久テスト |
| JMeter Stress Test | JMeter ストレステスト |
| Auto-Scaling Validation | オートスケーリングの検証 |
| Breaking Point Analysis | 限界点の分析 |
ベストプラクティス
✅ 推奨事項
- 本番環境に近い環境でテストする
- すべてのシステムリソースを監視する
- 限界を見つけるために負荷を段階的に増やす
- ストレスをかけた後の復旧をテストする
- 限界点を記録する
- オートスケーリングの動作をテストする
- グレースフルデグラデーションに備える
- メモリーリークを監視する
❌ 禁止事項
- 安全対策なしで本番環境をテストする
- 復旧テストを省略する
- 警告サイン(CPU、メモリー)を無視する
- 成功シナリオだけをテストする
- 線形にスケールできると想定する
- データベースの容量を忘れる
- サードパーティの依存関係の監視を省略する
- 適切なクリーンアップなしでテストする
コメント
Markdown 対応