Webアプリケーションなどの負荷テストと性能測定に使える、オープンソースのJavaアプリケーション。
codesenberg/bombardier
fasthttpを基盤とする、Go製のクロスプラットフォームなHTTP(S)ベンチマーク・負荷テスト用コマンドラインツールです。
- スター
- 6,843
- フォーク
- 332
- 未解決の Issue
- 30
- 最終コミット
- 13 日前
これは何?
bombardierは、HTTPおよびHTTPSサービスの負荷テストを行うコマンドラインツールです。URL、同時接続数、リクエスト数または実行時間を指定すると、秒間リクエスト数、レイテンシ統計、HTTPステータスコードの件数、エラー、スループットを報告します。
デフォルトでは、高速化のためにGo標準のnet/httpライブラリではなくfasthttpクライアントを使用します。v1.1以降は、フラグでnet/httpクライアントに切り替えられます。HTTP/2.xサービスのテストや、よりRFCに準拠したクライアントが必要な場合に便利です。Linux、macOS、Windows向けのビルド済みバイナリが提供されており、go installでもインストールできます。
既知の制限として、fasthttpではHostヘッダーを正しく設定できません。ドキュメントでは回避策として、net/httpモード(--http1または--http2)の使用が案内されています。
主な機能
- 01同時接続数を指定して、HTTPおよびHTTPSのエンドポイントに負荷テストを実施します。
- 02リクエスト数または実行時間を指定してテストを実行します。
- 03秒間リクエスト数、レイテンシ、ステータスコードの内訳、スループットを報告します。
- 04デフォルトのfasthttpクライアントに加え、HTTP/2.xのテストに使えるnet/httpクライアントを提供します。
- 05Linux、macOS、Windows向けのビルド済みバイナリを提供します。
ユースケース
- WebサービスやAPIが処理できる秒間リクエスト数を測定する。
- 同時負荷をかけたときのレイテンシ分布やエラー率を確認する。
- 変更の前後でサーバーのパフォーマンスを比較する。
クイックスタート
- 1
Go 1.18以降で go install を使ってインストールします
go install github.com/codesenberg/bombardier@latest - 2
125接続、1,000万リクエストでURLに対してベンチマークを実行します
bombardier -c 125 -n 10000000 http://localhost:8080
使う前に知っておきたいこと
- デフォルトのfasthttpクライアントはHostヘッダーを正しく渡せないため、回避策として --http1 または --http2 フラグ(net/http)を使用してください。
収録されている特集
トピック
よくある質問
- bombardier とは?
- fasthttpを基盤とする、Go製のクロスプラットフォームなHTTP(S)ベンチマーク・負荷テスト用コマンドラインツールです。 bombardierは、HTTPおよびHTTPSサービスの負荷テストを行うコマンドラインツールです。URL、同時接続数、リクエスト数または実行時間を指定すると、秒間リクエスト数、レイテンシ統計、HTTPステータスコードの件数、エラー、スループットを報告します。
- bombardier は無料で使えますか?ライセンスは?
- bombardier は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- bombardier は今もメンテナンスされていますか?
- 活発にメンテナンス中。bombardier の最終コミットは 2026年10月10日 です。
- bombardier は何に使えますか?
- WebサービスやAPIが処理できる秒間リクエスト数を測定する。 同時負荷をかけたときのレイテンシ分布やエラー率を確認する。 変更の前後でサーバーのパフォーマンスを比較する。
- bombardier のインストール方法は?
- Go 1.18以降で go install を使ってインストールします: go install github.com/codesenberg/bombardier@latest 125接続、1,000万リクエストでURLに対してベンチマークを実行します: bombardier -c 125 -n 10000000 http://localhost:8080
- bombardier はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/codesenberg/bombardier
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
fasthttpを使ったGo製のHTTP(S)負荷テストCLI。リアルタイムのターミナル表示とWebチャートに対応。
実行中のeBPFプログラムの実行時間、秒間イベント数、推定CPU使用率を表示する、top風のターミナルモニター。
Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。
WindowsとLinux向けのタスクマネージャー代替ツール。スレッド、メモリ、ハンドル、ソケット、モジュールなど、プロセスごとの詳細情報を表示します。
Go製のキーボード操作対応ターミナルダウンロードマネージャー。ファイルを並列チャンクに分割し、複数ミラーからダウンロードできます。