フリーの負荷テストツールは本当に「使える」の?

負荷テストを実行したいけれど費用を抑えたい場合は、フリー(無料)の負荷テストツールを選ぶという選択肢があります。このページでは、フリー(無料)の負荷テストツールは本当に「使える」のかどうかについて解説します。

フリーで使える負荷テストツールとは?

フリーで使える負荷テストツールとは、無料で負荷テストができるツールのことです。海外製が多く、専門知識は不要で簡単に使えるツールが多いのが特徴的です。とはいえ、無料なので有料に比べると機能性が劣る場合が多いのがデメリットといえます。

フリーで使える負荷テストツールにできること・できないこと

フリーで使える負荷テストツールは、費用を抑えて負荷テストを行うことが可能です。基本的な負荷テストを実施できますが、無料で開発・保守されているため、LoadViewのような有料ツールが提供する幅広いシミュレーションオプションは用意されていません。不十分なテスト結果や適切なテストの失敗により、将来的に有料ツールよりも費用がかかる可能性があります。

主にできること

  • HTTP/HTTPSへの負荷テスト
    WebサイトやAPIに対して大量のリクエスト(GET/POSTなど)を送信。同時接続数や秒間リクエスト数(RPS)の指定が可能
  • 負荷パターンの設計
    徐々に負荷を上げる・下げる、一定の負荷を保つ、急激に負荷を上げるなど、基本的な負荷パターンに対応
  • 操作シナリオの作成
    「ログイン→ページ閲覧→データ更新」のような一連の操作をスクリプトで自動化。待ち時間や繰り返し処理も設定可能
  • テストデータの動的変更
    CSVファイルや乱数を使って、ユーザーIDや検索キーワードなどのテストデータを自動的に変更
  • 基本的な動的データ処理
    前のレスポンスから認証トークンやIDを抽出して、次のリクエストで使用(手動での設定が必要)
  • 結果の検証機能
    HTTPステータスコード、応答時間、レスポンス内容の部分一致などをチェック
  • 基本的な測定結果の取得
    応答時間の平均値・95/99パーセンタイル値、エラー発生率、処理量の測定。HTMLやJSON形式での簡易レポート出力
  • 自動化システムとの連携
    コマンドラインでの実行が可能で、CI/CDパイプラインへの組み込みが容易
  • 複数通信プロトコル対応(限定的)
    WebSocketやgRPCなど一部のプロトコルに対応するツールもあるが、基本的にはHTTP/HTTPSが中心
  • 分散負荷テスト(手動設定)
    複数のマシンから負荷をかける構成は可能だが、環境準備や結果の集計は自分で行う必要がある

無料版では難しい・できないこと

  • 非常に大規模な負荷テスト
    数万~数十万の同時接続や高いRPSを安定して実行(負荷発生環境の準備・監視・結果集計が困難)
  • 地理的に分散した負荷の生成
    世界各地の複数拠点から同時に実際のトラフィックを模擬(各地に環境を用意する必要がある)
  • 実ブラウザの大量同時実行
    画面描画や重いJavaScript処理を含むエンドツーエンドテストを大規模に実行(計算リソースのコストが大幅に増加)
  • モバイル通信環境の正確な再現
    パケットロス、遅延のゆらぎ、帯域制限、5G/4Gの電波状況などを実環境に近い形で再現(専用のネットワークエミュレータが必要)
  • 複雑な認証システムの連携維持
    SAML/OIDCと多要素認証を組み合わせた本番環境レベルの認証フローを、大量の並列処理で安定して動作させる
  • テストデータの高度な管理
    大量のユニークなデータの生成、個人情報の匿名化、テスト前後のデータ準備・クリーンアップの自動化
  • 監視システムとの深い連携
    APM、分散トレーシング、ログ基盤と統合した詳細な相関分析やSLO(サービスレベル目標)に基づく判定
  • 負荷発生環境の自動管理
    負荷生成サーバーの自動準備・削除、最適な台数の調整、コスト見積もり機能の組み込み
  • 高度な分析機能
    ビジネス指標との関連付け、システム容量の計画、過去結果との比較分析のダッシュボード提供
パフォーマンス低下に悩んだら、
「改善提案型」負荷テストサービスに任せよう

社内の少数メンバーで使う小規模なシステムや、単発で済む程度の負荷テストであれば、フリーの負荷テストツールでも十分です。ただし負荷は一度解消したからといって二度と発生しないわけではなく、アップデートの度にテストが必要になるケースも多いのが実情。

例えば負荷テストサービス会社の中には、検出したバグを分析した上で改善アクションまで踏み込んでくれるところがあります。同じ依頼をするなら、こういった改善までできる会社がおすすめです。というのも、エンジニアが本来の開発に集中でき、自動的に不具合やバグの報告が上がり適宜改善してくれる仕組みこそが、理想の開発環境と言えるからです。

当サイトでおすすめしている3社は、すべてこの要件を満たしています。あなたが抱えている課題を、それぞれの会社が持つ「独自の強み」で解決してくれますので、ぜひ依頼先選びの参考にしてみてください。

改善アクションまで任せられる
負荷テストサービス会社 3選を見る

フリーで使える負荷テストツールの紹介

フリーで使える負荷テストツールの中には、高品質のシミュレーションを提供する優れたオプションを搭載した無料テストツールもあります。

Apache JMeter

Apache JMeterの特徴

例えばJMeter(正式名称「Apache JMeter」)は、Webサービスを中心にさまざまなアプリケーションやシステムの負荷テストが行える無料ツールです。Javaがインストールされている状態なら、Windows、Mac OSX、LinuxのどのOSでも実行できます。

ただし、実際のブラウザを使用した大規模なテストや、複数の場所から仮想ユーザーを生成するLoadViewの機能を利用する場合は、適していない場合があります。

Apache JMeterで出来ること・機能

シナリオの作成やリアルタイムでの結果表示のほか、テスト結果を元にして詳細なレポートの生成を行うことができます。このことによりパフォーマンスの問題点・改善点を明らかにすることができます。

Apache JMeterの対応言語

Java

動作環境・利用形態

Gatling

Gatlingの特徴

Gatling(ガトリング)は、Javaで書かれた負荷テストのためのオープンソースツールです。JavaScriptやロードテストツールに精通している方におすすめです。基本的なテストの実行が可能ですが、大規模なテストには不向きかもしれません。

Gatlingで出来ること・機能

特にHTTPプロトコルを使用したWebアプリケーションテストに適しているツール。スクリプトベースで設定を行うことから複雑なシナリオにも対応が可能です。またScalaを使用してシナリオの記述を行うため、プログラム的にテストケースの構築ができます。

Gatlingの対応言語

Scala、Java、Kotlin

動作環境・利用形態

LoadView

LoadViewの特徴

LoadViewは、ウェブ サイトのロードテストを自動化できるブラウザベースの負荷テストツールです。実際のブラウザテストを特徴とする機能豊富なSaaSツールであるため、知識不要でアカウントを作成するだけで簡単に利用することが可能です。追加の機器やスキルも必要ありません。

出来ること・機能

ブラウザにおいて多数の同時接続が発生するWebサイトやAPI、アプリケーションにおけるストレステストを行うことが可能。また、Load Step(ステップ負荷)、Dynamic Adjustable(動的調整可能)、Goal-based(目標ベース)の3種類の付加曲線テストを行えます。

LoadViewの対応言語

C#

LoadViewの動作環境・利用形態

Locust

Locustの特徴

Locust(ロウカスト)は、主にWebアプリケーションやAPIのパフォーマンステストを目的として利用されている、オープンソースの負荷試験ツールです。Pythonを用いてテストシナリオが記述できることから、柔軟でカスタマイズ性が高いことや、テストの実行結果はGUIとCSVで表示することが可能です。また、Pythonがインストールされていれば簡単に導入ができます。

Locustで出来ること・機能

WebアプリケーションやAPIの負荷テスト・パフォーマンステストのほか、複数のマシンを使用してテストを実行可能なので、大規模な負荷テストにも対応ができます。

Locustの対応言語

Python

Locustの動作環境・利用形態

k6

k6の特徴

K6はGoで記述されたオープンソースの負荷テストツールです。このツールは、使いやすさとJavaScriptによるスクリプト作成に重点が置かれている点が特徴。パフォーマンステストやスケーラビリティテスト、ストレステスト用に設計されています。また、公式ホームページにそれぞれのOSごとのインストール手順が公開されており、導入までのハードルが低い点もポイントです。

k6で出来ること・機能

JavaScriptにテストシナリオを記述し、負荷テストを実施することが可能です。またテスト結果についてはリアルタイム分析が行えます。

k6の対応言語

JavaScript

k6の動作環境・利用形態

Artillery

Artilleryの特徴

Artilleryは、使いやすさとスケーラビリティを考慮して設計された、オープンソースの負荷テストツールキットです。YAMLベースのシナリオスクリプティングが可能であることから、複雑なテストシナリオを直感的に定義することが可能です。また、HTTP、WebSocketなどを含む幅広いプロトコルをサポートしていることから、さまざまなテスト要件に対応することが可能です。

Artilleryで出来ること・機能

WebアプリケーションやHTTP APIなど幅広いアプリケーションにおける負荷テストを行えます。さらに、レポート共有やコラボレーションをサポートするためのさまざまな機能が用意されており、テスト結果の共有が簡単に行えます。さらに、多彩な統合機能も搭載されていることから、監視ツールなどとの連携も行えます。

Artilleryの対応言語

YAML

Artilleryの動作環境・利用形態

Tsung

Tsungの特徴

Tsungは、さまざまなプロトコルに対応している負荷テストツールです。並行処理に強い点を特徴とするErlangというプログラミング言語で開発されており、多くの同時接続について効率的にシミュレートすることが可能です。こちらのツールはWebサーバーの負荷テストやデータベースのパフォーマンステストなどで利用されます。

Tsungで出来ること・機能

分散環境でのテストもサポートしていることから、複数のマシンを使用して負荷テストを行うことが可能なので、より現実的なテスト環境の構築が可能です。また、負荷テストの結果を詳細レポートとして生成する機能を備えています。

Tsungの対応言語

Erlang

Tsungの動作環境・利用形態

Vegeta

Vegetaの特徴

Goを用いて記述されている、オープンソースのHTTP負荷テストツールであり、シンプルさと柔軟さが特徴。コマンドラインから使用するように設計されていますが、コマンドラインインターフェースがシンプルであることから、シナリオを簡単に定義して実行することが可能。ただし、コマンドラインを使い慣れていないユーザーにとっては直感的ではないと感じる可能性もあります。

Vegetaで出来ること・機能

HTTP/1.1およびHTTP/2プロトコルをサポート。さまざまなWebアプリケーション、サービスのテストに適しているほか、攻撃シナリオの柔軟な構成が可能なので、多彩なテストシナリオに対応ができます。

Vegetaの対応言語

Go言語

Vegetaの動作環境・利用形態

Loader.io

Loader.ioの特徴

Loaderは、無料で提供されている負荷テストサービスです。シンプルなクラウドベースで提供されている点が特徴であり、Webを使用して素早く簡単にテストを行える点が特徴。シンプルな負荷シナリオ向けのツールです。また、対象ホストに対し正当な持ち主化を確認するVerification機能が搭載されています。

Loader.ioで出来ること・機能

テストを行う場合には、WebインターフェースまたはAPIを通じ、テストようにアプリケーションの登録を行い、テストを実行します。テストはリアルタイムで監視することが可能であり、その結果はチーム内で共有が可能です。

Loader.ioの対応言語

なし

Loader.ioの動作環境・利用形態

改善までお任せできる
負荷テストサービス3選

負荷テストサービス会社は数多くありますが、それぞれ得意とする領域は違います
原因特定力が高くスピーディに解決できる会社もあれば、アフターサポートが手厚い大手ソフトウェアテスト会社、インフラレベルの大規模テスト実績が豊富な会社など、強みも様々。
ここでは代表的な3つのニーズに分けて、おすすめの会社を紹介しています。

2週間でトラブルの原因特定
スピーディな負荷改善
を求めるなら
Airitech
おすすめの理由
  • トラブルシュートに強く、たった2週間で不具合を特定できる
  • 必要があれば前工程の性能改善に踏み込み、テストを実施してくれる
  • 多様な観点からシナリオを提示し、検証後の実装まで動いてくれる

\スピーディな負荷改善/

原因特定が早い
Airitechの負荷テストを
公式サイトで詳しく見る

Airitechの負荷テストについて
電話で問い合わせる

Airitechの負荷テスト
についてもっと詳しく見る

幅広いケースの改善実績あり
大手の安心サポート
を求めるなら
SHIFT
おすすめの理由
  • 改善実績が豊富で、自身のケースにおける適切な解答が分かる
  • 土日祝も対応の手厚いサポートで、安定稼働を実現できる
  • 第三者検証の老舗だから、複合的な機能テストも依頼できる

\安心サポート/

安定稼働を徹底サポート
SHIFTの負荷テストを
公式サイトで詳しく見る

SHIFTの負荷テストについて
電話で問い合わせる

SHIFTの負荷テスト
についてもっと詳しく見る

インフラレベルの不具合も改善大規模高負荷テスト
を求めるなら
ディーネット
おすすめの理由
  • JMeterのマスタ・スレーブ構成により、大規模負荷テストができる
  • 運用代行がメインの会社だから、テスト後の環境安定化に強い
  • 高負荷障害や大規模インフラなど、長大テストの改善にも対応できる

\大規模&高負荷/

大規模環境に強い
ディーネットの負荷テスト
を公式サイトで詳しく見る

ディーネットの負荷テストについて
電話で問い合わせる

ディーネットの負荷テスト
についてもっと詳しく見る

改善アクションまで
任せられる
負荷テストサービス会社3選を見る