最終更新日:2026年3月13日
WebサイトやWebサービスにアクセスが集中し、サーバの許容量を超えるとパフォーマンスが低下してしまいます。
そこで、サーバがどれぐらいの負荷に耐えられるのかを事前に知るために、負荷テストを行います。
負荷テストをしたいけれど、費用やスキルの問題で実行できない悩みを抱えている方のために、無料で使える負荷テストツールをまとめました。
Apache JMeter
「Apache JMeter」はJavaで作られた無料の負荷テストツールです。
Javaがインストールされていれば、Windows、macOS、LinuxのいずれのOSでも実行できます。
海外産の負荷テストツールなので本家のドキュメントは英語ですが、インストールや使い方を解説している日本語サイトやブログがたくさんあるので、英語が分からなくても調べれば使い方は分かります。
無料で使えますし、OSに依存しないので非常に便利な負荷テストツールです。
GUIでシナリオを組める点や、プラグインによる拡張性の高さから、負荷テストツールの定番として長年利用されています。
Grafana k6
「Grafana k6」は、もともとスウェーデンのLoad Impact社が開発したオープンソースの負荷テストツールです。
2020年に「k6」へリブランドされ、2021年にGrafana Labsが買収。2025年5月にはk6 1.0が正式リリースされました。
テストスクリプトはJavaScriptまたはTypeScriptで記述します。
開発者にとって馴染みのある言語で書けるため、テストコードをGitで管理したり、CI/CDパイプラインに組み込んだりといった運用がしやすいのが特徴です。
CLIベースのツールですが、Grafana Cloudとの統合により結果の可視化やチーム共有も可能です。
Grafana Cloud k6には無料枠(月500 VUh)もあるため、小規模なテストであればコストをかけずに始められます。
Siege
「Siege」はGPLライセンスで配布されている無料の負荷テストツールで、コマンドラインで使います。
ファイルに複数のURLを記述すれば、複数のURLを指定して負荷テストを実行することも可能です。
「Siege」のオプション名は分かりやすいようにつけられているので、その点は使いやすいと思います。
毎秒のリクエスト数、テストの時間指定、ベンチマークモード、リクエスト間の間隔を指定、リクエストヘッダの付与といったオプションが使えます。
海外産の負荷テストツールですが、インストールや使い方を解説している日本語サイトやブログがいくつかあります。
ちなみに「Siege」は「シージ」と読み、「包囲攻撃」というなかなか物騒な意味を持った単語です。
Gatling
「Gatling」はJVM上で動作するオープンソースの負荷テストフレームワークです。
Apache License 2.0で配布されており、無料で使用できます。
テストシナリオはJava、Scala、Kotlin、JavaScript、TypeScriptの5言語で記述でき、2024年にはJavaScript/TypeScript対応が追加されたことで、より幅広い開発者が利用しやすくなりました。
非同期アーキテクチャにより、少ないシステムリソースで数千の仮想ユーザーをシミュレートできるのが強みです。
テスト終了後にはHTML形式の詳細なレポートが自動生成されるため、結果の分析が容易です。
CI/CDパイプラインへの統合もしやすく、MavenやGradleのプラグインが提供されています。
Artillery
「Artillery」はNode.js製のオープンソース負荷テストツールです。
テストシナリオをYAMLで宣言的に記述できるため、プログラミング経験が浅い方でも比較的取り組みやすいのが特徴です。
HTTP、WebSocket、Socket.ioなど複数のプロトコルに対応しており、Playwrightと連携してブラウザベースの負荷テストも実行できます。
npmでインストールするだけですぐに使い始められる手軽さも魅力です。
AWSやAzureと連携した分散負荷テストにも対応しており、小規模なテストからクラウドスケールの本格的なテストまで幅広く使えます。
wrk
「wrk」は軽量・高速なHTTPベンチマークツールで、コマンドラインで使います。
マルチスレッドで動作し、少ないリソースで大量のリクエストを生成できるのが特徴です。
基本的な使い方はシンプルで、URLとスレッド数・接続数・テスト時間を指定するだけでベンチマークを実行できます。
Luaスクリプトによるカスタマイズにも対応しており、POSTリクエストやカスタムヘッダの付与といった柔軟な設定が可能です。
Linux・macOSで動作します。シンプルにHTTPサーバの性能を計測したい場合に適したツールです。
- GUIで手軽に始めたい → Apache JMeter
- JavaScript/TypeScriptでCI/CDに組み込みたい → Grafana k6
- コマンド1行でサクッとテストしたい → Siege、wrk
- JVM環境で本格的なシナリオテスト → Gatling
- YAMLで宣言的にテストを定義したい → Artillery





