mcpField
A
api-load-tester

api-load-tester

github.com/onewave-aiテスト・品質393244 回インストール1 週間前に更新
リポジトリ

api-load-tester について

api-load-testerは、HTTPエンドポイントに段階的な負荷をかけ、性能限界やボトルネックを報告するスキルです。ツール選定、テスト実行、指標分析、レポート作成を案内し、本番環境やレート制限への安全策も備えています。

主な機能

  1. 01段階的な同時接続数テスト
  2. 02hey、wrk、ab、curlからのツール選定
  3. 03レイテンシ、スループット、エラーの分析
  4. 04限界点とボトルネックの評価
  5. 05グラフ付きMarkdownレポートの作成

活用シーン

  1. 01負荷増加時のエンドポイント性能確認
  2. 02レイテンシ閾値と障害発生点の特定
  3. 03同時接続数別のスループット比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onewave-ai/claude-skills --skill api-load-tester

インストール後、Claude Code で/api-load-testerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
metrics-interpretation.md
output-template.md
rules-and-examples.md
tool-commands.md

詳細

API 負荷テスト

負荷を段階的に増やしながら HTTP エンドポイントにストレステストを実施し、限界点を特定して、実行可能な推奨事項を含むレポートを作成します。

目次

  • references/tool-commands.md -- ツールの呼び出し(hey/wrk/ab/curl)、デフォルトの同時実行ステージ、各ステージで収集するデータ。
  • references/metrics-interpretation.md -- レイテンシ、スループット、エラー、限界点、ボトルネックの分類。
  • references/output-template.md -- ASCII チャートとスケーリング表を含む、api-load-report.md の正確な構成。
  • references/rules-and-examples.md -- 安全ルール、エラー処理、実行例。

入力

ユーザーから収集します。必須の入力が不足している場合は、先に進む前に確認してください。

必須:エンドポイントの URL(必要に応じてメソッド、ヘッダー、本文を含む)、想定レイテンシのしきい値。指定がない場合のデフォルトのしきい値:p50 < 100ms、p95 < 300ms、p99 < 1000ms。

任意:同時ユーザー数または範囲(デフォルトのランプは 1 から 100)、認証、リクエストのペイロード、カスタムヘッダー、テスト時間(デフォルトはステージごとに 10s)、ランプパターン(デフォルトは各ステージで倍増する段階的ランプ)、成功条件(デフォルトは 2xx)、既知のレート制限、環境ラベル(prod/staging/dev)。

ワークフロー

以下の手順を順番に実行します。

  1. ツールを選択します。 優先順位に従って which hey、which wrk、which ab、which curl を確認します。hey/wrk/ab のいずれも存在しない場合は、hey をインストールするか(macOS では brew install hey、Go を使用する Linux では go install github.com/rakyll/hey@latest)、bash のバックグラウンドプロセスと wait を使って curl に切り替えます。提供されたエンドポイントに対して簡単なリクエストを 1 回送信して確認し、続行する前に接続または認証の問題を診断します。

  2. エンドポイントを検証します。 指定されたメソッド、ヘッダー、認証、本文で各エンドポイントにリクエストを 1 回送信します。ステータスが成功条件に一致することを確認し、単一リクエストのベースラインレイテンシを記録します。失敗した場合はエラーを示し、スキップするか修正するかを確認します。

  3. テスト計画を設計します。 段階的な同時実行ステージを作成します(デフォルトの進行については references/tool-commands.md を参照)。ユーザーの同時実行範囲に合わせて、ステージを短縮または追加します。エンドポイントごとに、メソッド、URL、ヘッダー、本文、成功コード、タイムアウト(デフォルトは 30s)を定義します。実行前に計画を表示して確認を求めます。

  4. ステージを実行します。 エンドポイントごとに、選択したツールを使ってすべての同時実行ステージを順番に実行し、ステージ間に 2 秒待機します。ステージごとのメトリクスを取得して保存します。コマンド、リクエスト数の計算式、メトリクスの一覧については references/tool-commands.md を参照してください。

  5. メトリクスを解釈します。 レイテンシのパーセンタイルとプロファイル、スループットの曲線と上限、エラー率と発生時点、限界点、ボトルネックの分類を算出します。references/metrics-interpretation.md を参照してください。

  6. レポートを生成します。 references/output-template.md に厳密に従い、スループットとレイテンシの ASCII チャートを含む api-load-report.md を現在の作業ディレクトリに書き込みます。

  7. レポート後の対応を行います。 コンソールに 3~5 行の要約を出力し、レポートのパスを示します。重大な問題があれば明示し、異なるパラメーターで特定のステージを再実行するか尋ねます。

ルール

references/rules-and-examples.md の安全ルール、エラー処理、実行例に従います。主な制約:明示的な確認なしに本番環境で負荷テストを実施しないこと、デフォルトでは GET のみをテストすること、認証トークンをマスクすること、429 のレート制限を尊重すること、タイムアウトを失敗として数えること、テスト済みの範囲を超えて外挿しないこと。

コメント