configure-load-tests について
負荷・性能テストを監査、設定するスキルです。ストレステストやベンチマーク、容量計画に取り組むチーム向けに、シナリオ、しきい値、レポート、CI 連携を確認し、必要に応じて設定を修正します。
主な機能
- 01k6、Artillery、Locust の構成検出
- 02各種テストシナリオの網羅性確認
- 03しきい値、環境、レポートの監査
- 04テストスクリプトと CI ワークフローの設定
- 05確認のみと自動修正に対応
活用シーン
- 01既存プロジェクトの負荷テスト網羅性の評価
- 02CI での性能回帰チェックの設定
- 03別の負荷テストフレームワークへの移行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-load-testsインストール後、Claude Code で/configure-load-testsを入力して読み込まれたか確認します。
同梱ファイルREFERENCE.md
詳細
/configure:load-tests
ストレステスト、ベンチマーク、キャパシティプランニングのための負荷テストインフラストラクチャを確認して設定します。
このスキルを使用するタイミング
| 次の場合にこのスキルを使用します… | 次の場合は別の方法を使用します… |
|---|---|
| 負荷テストインフラストラクチャをゼロからセットアップする場合(k6、Artillery、Locust) | 既存の負荷テストを実行する場合 — k6 run または artillery run を直接使用します |
| 現在の負荷テストのカバレッジ(スモーク、ストレス、スパイク、ソーク)を監査する場合 | ユニットテストまたは統合テストを作成する場合 — /configure:tests を使用します |
| パフォーマンスのリグレッション検出用に CI/CD パイプラインを追加する場合 | アプリケーションのメモリ使用量をプロファイリングする場合 — /configure:memory-profiling を使用します |
| 負荷テストフレームワークを移行する場合 | 個々の関数をベンチマークする場合 — 言語固有のベンチマークツールを使用します |
| 負荷テストのしきい値とレポートが適切に設定されていることを確認する場合 | API コントラクトをテストする場合 — /configure:api-tests を使用します |
コンテキスト
- プロジェクトルート:!
pwd - k6 テスト:!
find . -maxdepth 3 \( -name '*.k6.js' -o -name '*.k6.ts' \) - 負荷テストディレクトリ:!
find . -maxdepth 2 -type d -name 'load' - Artillery 設定:!
find . -maxdepth 2 -name 'artillery.yml' -o -name 'artillery.yaml' - Locust ファイル:!
find . -maxdepth 2 -name 'locustfile.py' - パッケージファイル:!
find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' \) - CI ワークフロー:!
find . -path '*/.github/workflows/*' -maxdepth 3 -name '*load*' -o -name '*perf*' - k6 バイナリ:!
k6 version
パラメーター
$ARGUMENTS から解析します:
--check-only:変更を加えずに負荷テストの準拠状況を報告します--fix:確認を求めずにすべての修正を自動適用します--framework <k6|artillery|locust>:フレームワークの検出結果を上書きします
フレームワークの選択基準:
| フレームワーク | 最適な用途 |
|---|---|
| k6(推奨) | 複雑なシナリオ、CI/CD 統合、TypeScript サポート |
| Artillery | すばやい YAML 設定、シンプルな API テスト |
| Locust | Python を使用するチーム、分散テスト、カスタム動作 |
実行
この負荷テスト設定チェックを実行します:
ステップ 1:既存の負荷テストインフラストラクチャを検出する
上記のコンテキスト値を読み取り、以下を特定します:
| 指標 | コンポーネント | 状態 |
|---|---|---|
k6 バイナリまたは @grafana/k6 | k6 | インストール済み |
*.k6.js または load-tests/ | k6 テスト | 存在 |
artillery.yml | Artillery 設定 | 存在 |
locustfile.py | Locust テスト | 存在 |
.github/workflows/*load* | CI 統合 | 設定済み |
--framework フラグが設定されている場合は、検出結果に関係なくそのフレームワークを使用します。
ステップ 2:現在の負荷テスト設定を分析する
設定が網羅されているかを確認します:
インストール: k6 がインストールされていること(バイナリまたは npm)、該当する場合は TypeScript をサポートしていること。
テストシナリオ: 次のテスト種別があるか確認します:
- スモークテスト(最小限の負荷の検証)
- 負荷テスト(通常の負荷)
- ストレステスト(ピーク負荷)
- スパイクテスト(突発的なトラフィック)
- ソークテスト(耐久性)
設定: しきい値、環境固有の設定、データファイル。
レポート: コンソール出力、JSON/HTML レポート、トレンド追跡。
CI/CD: GitHub Actions ワークフロー、スケジュール実行、PR ゲート。
ステップ 3:準拠レポートを生成する
次の項目を含む準拠レポートを出力します:
- フレームワークのインストール状況とバージョン
- テストシナリオのカバレッジ(スモーク、負荷、ストレス、スパイク、ソーク)
- しきい値の設定(応答時間、エラー率)
- 環境設定(ステージング、本番環境)
- CI/CD 統合(ワークフロー、スケジュール、PR ゲート)
- レポート設定(コンソール、JSON、HTML、Grafana Cloud)
最後に、問題の総数と推奨事項を記載します。
--check-only が設定されている場合は、ここで終了します。
ステップ 4:負荷テストフレームワークを設定する(--fix が指定されている場合、またはユーザーが確認した場合)
REFERENCE.md のテンプレートを使用して設定を適用します。
- k6(または選択したフレームワーク)をインストールします
- ディレクトリ構成を作成します:
tests/load/{config,scenarios,helpers,data} - 共通のしきい値とヘッダーを含む基本設定を作成します
- テストシナリオ(スモーク、負荷、ストレス、スパイク)を作成します
- テスト実行用の npm/package スクリプトを追加します
ステップ 5:CI/CD 連携を設定する
.github/workflows/load-tests.ymlを作成し、以下を設定します:- PR でのスモークテスト
- workflow_dispatch による全負荷テスト
- 毎週のスケジュール実行
- 結果アーティファクトのアップロード
- k6-reporter による HTML レポートを追加します
- REFERENCE.md のテンプレートを使用します
ステップ 6:標準の追跡情報を更新する
.project-standards.yaml を更新します:
components:
load_tests: "2025.1"
load_tests_framework: "k6"
load_tests_scenarios: ["smoke", "load", "stress"]
load_tests_ci: true
load_tests_thresholds: true
ステップ 7:最終コンプライアンスレポートを出力する
インストールしたフレームワーク、作成したシナリオ、追加したスクリプト、設定した CI/CD、設定したしきい値、ユーザー向けの次のステップをまとめて出力します。
k6 テストスクリプト、CI ワークフローのテンプレート、レポート設定の詳細については、REFERENCE.md を参照してください。
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| コンプライアンスをすばやく確認 | /configure:load-tests --check-only |
| すべての問題を自動修正 | /configure:load-tests --fix |
| スモークテストをすばやく実行 | k6 run --vus 1 --duration 10s tests/load/scenarios/smoke.k6.js |
| JSON 出力で実行 | k6 run --out json=results.json tests/load/scenarios/load.k6.js |
| k6 のバージョンを確認 | k6 version |
| テストシナリオを一覧表示 | find tests/load -name '*.k6.js' -type f |
フラグ
| フラグ | 説明 |
|---|---|
--check-only | 修正を提示せずにステータスを報告します |
--fix | 確認を求めず、すべての修正を自動的に適用します |
--framework <framework> | フレームワークを上書きします(k6、artillery、locust) |
例
# Check compliance and offer fixes
/configure:load-tests
# Check only, no modifications
/configure:load-tests --check-only
# Auto-fix all issues
/configure:load-tests --fix
# Force specific framework
/configure:load-tests --fix --framework artillery
エラー処理
- k6 がインストールされていない:プラットフォーム別のインストール手順を提示します
- ターゲット URL がない:BASE_URL の設定を求めます
- Docker を利用できない:アプリをローカルで起動するよう提案します
- CI シークレットが不足している:k6 Cloud のセットアップ手順を提示します
関連項目
/configure:tests- ユニットテストの設定/configure:integration-tests- 統合テスト/configure:api-tests- API コントラクトテスト/configure:all- すべてのコンプライアンスチェックを実行- k6 のドキュメント:https://k6.io/docs
- k6 の例:https://github.com/grafana/k6/tree/master/examples
- Grafana k6 Cloud:https://grafana.com/products/cloud/k6