fasthttpを基盤とする、Go製のクロスプラットフォームなHTTP(S)ベンチマーク・負荷テスト用コマンドラインツールです。
six-ddc/plow
fasthttpを使ったGo製のHTTP(S)負荷テストCLI。リアルタイムのターミナル表示とWebチャートに対応。
- スター
- 4,515
- フォーク
- 154
- 未解決の Issue
- 20
- 最終コミット
- 5 日前
これは何?
PlowはGoで書かれた、コマンドラインのHTTP(S)ベンチマークツールです。指定した同時接続数でリクエストを送信し、テスト中のレイテンシ統計、ヒストグラム、パーセンタイルを記録して、ターミナルとリアルタイムのWebページに表示します。テストは、指定時間の経過、指定リクエスト数の完了、またはCtrl-Cによる中断まで実行できます。
PlowはGo標準のnet/httpパッケージではなく、fasthttpクライアントライブラリを使用します。ヒストグラムと分位点を求めるストリーミングアルゴリズムにより、ベンチマーク中のメモリとCPUのオーバーヘッドを抑えます。オプションのトレース機能では、リクエスト時間をDNS、接続、TLS、書き込み、待機、読み込みの各フェーズに分けて確認できます。
メソッド、ヘッダー、リクエストボディ(ファイルを指定でき、必要に応じてストリーミング可能)、クライアントTLS証明書を使ってリクエストをカスタマイズできます。レート制限、ランプアップ、SOCKS5およびHTTPプロキシ、Unixドメインソケット、JSON出力にも対応しています。
主な機能
- 01ターミナルとWeb UIで、レイテンシ統計、ヒストグラム、パーセンタイルをリアルタイムに表示。
- 02同時接続数、リクエスト数、実行時間を指定するテストモード。
- 03DNS、接続、TLS、書き込み、TTFB、読み込みの各フェーズのレイテンシをトレース。
- 04メソッド、ヘッダー、ファイルからのリクエストボディ、クライアントTLS証明書をカスタマイズ。
- 05レート制限、ランプアップ、SOCKS5およびHTTPプロキシ、JSON出力に対応。
ユースケース
- リリース前にHTTP APIやWebサービスの負荷テストを行う。
- エンドポイントやサーバー構成ごとの応答レイテンシを比較する。
- DNS、接続、TTFBなど、応答の遅延に最も影響しているリクエストフェーズを特定する。
クイックスタート
- 1
Go で plow をインストールする
go install github.com/six-ddc/plow@latest - 2
20 接続で URL に負荷テストを実行する
plow http://127.0.0.1:8080/ -c 20 -n 10000 -d 10s
使う前に知っておきたいこと
- HTTP(S) の負荷テストのみをサポートしており、他のプロトコルには対応していません。
収録されている特集
トピック
よくある質問
- plow とは?
- fasthttpを使ったGo製のHTTP(S)負荷テストCLI。リアルタイムのターミナル表示とWebチャートに対応。 PlowはGoで書かれた、コマンドラインのHTTP(S)ベンチマークツールです。指定した同時接続数でリクエストを送信し、テスト中のレイテンシ統計、ヒストグラム、パーセンタイルを記録して、ターミナルとリアルタイムのWebページに表示します。テストは、指定時間の経過、指定リクエスト数の完了、またはCtrl-Cによる中断まで実行できます。
- plow は無料で使えますか?ライセンスは?
- plow は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- plow は今もメンテナンスされていますか?
- 活発にメンテナンス中。plow の最終コミットは 2026年10月17日 です。
- plow は何に使えますか?
- リリース前にHTTP APIやWebサービスの負荷テストを行う。 エンドポイントやサーバー構成ごとの応答レイテンシを比較する。 DNS、接続、TTFBなど、応答の遅延に最も影響しているリクエストフェーズを特定する。
- plow のインストール方法は?
- Go で plow をインストールする: go install github.com/six-ddc/plow@latest 20 接続で URL に負荷テストを実行する: plow http://127.0.0.1:8080/ -c 20 -n 10000 -d 10s
- plow はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/six-ddc/plow
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Webアプリケーションなどの負荷テストと性能測定に使える、オープンソースのJavaアプリケーション。
統計分析やウォームアップ実行に対応し、結果をCSV、JSON、Markdown、AsciiDocに出力できるコマンドラインベンチマークツール。
複数のJavaScriptランタイムで動作する、シンプルで軽量な依存関係のないJavaScriptベンチマークライブラリ。
LLM、VLM、AIGCモデルのベンチマーク評価に加え、推論性能の負荷テストや結果のダッシュボード表示にも対応する、カスタマイズ可能なフレームワーク。
Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。