~/utility/load-tester
Global API Load Tester — 10K+ RPSのストレステスト
秒間10,000リクエスト超をシミュレートする高性能負荷テストツール。地理分散トラフィック、重み付きターゲット、インタラクティブなHTMLレポートに対応。
テスト
>99%成功
GoVegeta
グローバル
カテゴリutility / テスト
言語Go
スタックGo, Vegeta
マーケットグローバル
成功率>99%
出力クリーンでRAG対応のJSON
主な機能
圧倒的な性能 — 秒間10,000リクエスト超
米国・欧州・アジアからの地理分散テスト
重み付けされた複数ターゲットへの負荷生成(例:読み取り90%/書き込み10%)
現実的なトラフィックを再現するレジデンシャルプロキシ対応
Coordinated Omissionを防ぐ一定レートのペーシング
Vegeta PlotsによるインタラクティブなHTMLレポート
詳細なレイテンシ・スループット・エラーメトリクス
活用例
- リリース前のAPIパフォーマンスベンチマーク
- キャパシティプランニングとインフラのサイジング
- 限界点とボトルネックの特定
- CDNとロードバランサー設定のテスト
- 地理分散レイテンシテスト
- パフォーマンスが重要なエンドポイントのリグレッションテスト
入力パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
targets | array | 必須 | URL、メソッド、ボディ、ヘッダー、重みを含むターゲットエンドポイント |
rate | number | 任意 | 秒間リクエスト数(デフォルト:50) |
duration | number | 任意 | テスト実行時間(秒)(デフォルト:60) |
geoDistribution | array | 任意 | 国コードとトラフィック重みを指定したリージョン |
useStickySessions | boolean | 任意 | セッションアフィニティを維持する(デフォルト:true) |
maxCostLimit | number | 任意 | テスト実行のコスト上限 |
Output Example
このロードテスターは、インタラクティブなHTMLレポートと構造化されたメトリクスを生成します。
1{
2 "summary": {
3 "totalRequests": 50000,
4 "duration": "60s",
5 "rps": 833.33,
6 "successRate": 99.8,
7 "latency": {
8 "mean": "12.4ms",
9 "p50": "10.1ms",
10 "p95": "28.7ms",
11 "p99": "89.2ms",
12 "max": "342.1ms"
13 },
14 "statusCodes": {
15 "200": 49900,
16 "503": 100
17 }
18 }
19}
よくある質問
地理分散テストはどのように機能しますか?
国コードとトラフィックの重みを指定します。このツールは該当リージョンのApifyプロキシサーバーにリクエストを分散させ、現実的なグローバルトラフィックパターンをシミュレートします。
Coordinated Omissionとは何ですか?
負荷テストにおける典型的な落とし穴で、対象システムが過負荷になるとツール自体の速度が落ち、実際より良い結果に見えてしまう現象です。Vegetaは一定レートのペーシングによってこれを回避します。
認証が必要なエンドポイントもテストできますか?
はい、ターゲット設定に認証ヘッダーを含めてください。各ターゲットは独自のヘッダー、メソッド、ボディを持てます。