api-load-tester について
api-load-testerは、HTTPエンドポイントに段階的な負荷をかけ、性能限界やボトルネックを報告するスキルです。ツール選定、テスト実行、指標分析、レポート作成を案内し、本番環境やレート制限への安全策も備えています。
主な機能
- 01段階的な同時接続数テスト
- 02hey、wrk、ab、curlからのツール選定
- 03レイテンシ、スループット、エラーの分析
- 04限界点とボトルネックの評価
- 05グラフ付きMarkdownレポートの作成
活用シーン
- 01負荷増加時のエンドポイント性能確認
- 02レイテンシ閾値と障害発生点の特定
- 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.mdoutput-template.mdrules-and-examples.mdtool-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)。
ワークフロー
以下の手順を順番に実行します。
-
ツールを選択します。 優先順位に従って
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 回送信して確認し、続行する前に接続または認証の問題を診断します。 -
エンドポイントを検証します。 指定されたメソッド、ヘッダー、認証、本文で各エンドポイントにリクエストを 1 回送信します。ステータスが成功条件に一致することを確認し、単一リクエストのベースラインレイテンシを記録します。失敗した場合はエラーを示し、スキップするか修正するかを確認します。
-
テスト計画を設計します。 段階的な同時実行ステージを作成します(デフォルトの進行については
references/tool-commands.mdを参照)。ユーザーの同時実行範囲に合わせて、ステージを短縮または追加します。エンドポイントごとに、メソッド、URL、ヘッダー、本文、成功コード、タイムアウト(デフォルトは 30s)を定義します。実行前に計画を表示して確認を求めます。 -
ステージを実行します。 エンドポイントごとに、選択したツールを使ってすべての同時実行ステージを順番に実行し、ステージ間に 2 秒待機します。ステージごとのメトリクスを取得して保存します。コマンド、リクエスト数の計算式、メトリクスの一覧については
references/tool-commands.mdを参照してください。 -
メトリクスを解釈します。 レイテンシのパーセンタイルとプロファイル、スループットの曲線と上限、エラー率と発生時点、限界点、ボトルネックの分類を算出します。
references/metrics-interpretation.mdを参照してください。 -
レポートを生成します。
references/output-template.mdに厳密に従い、スループットとレイテンシの ASCII チャートを含むapi-load-report.mdを現在の作業ディレクトリに書き込みます。 -
レポート後の対応を行います。 コンソールに 3~5 行の要約を出力し、レポートのパスを示します。重大な問題があれば明示し、異なるパラメーターで特定のステージを再実行するか尋ねます。
ルール
references/rules-and-examples.md の安全ルール、エラー処理、実行例に従います。主な制約:明示的な確認なしに本番環境で負荷テストを実施しないこと、デフォルトでは GET のみをテストすること、認証トークンをマスクすること、429 のレート制限を尊重すること、タイムアウトを失敗として数えること、テスト済みの範囲を超えて外挿しないこと。