Repolode
codesenberg

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. 1

    Go 1.18以降で go install を使ってインストールします

    go install github.com/codesenberg/bombardier@latest
  2. 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 の数値は毎日更新されます。

関連プロジェクト