負荷試験フレームワークTaurusを実務で使って分かった利点とか

Taurus

はじめに

システム開発第3Gの小河です。

BlazeMeter社が提供するTaurusは、オープンソースの負荷試験フレームワークです。
実務上で何度かTaurusを利用してきました。
それをもとにTaurusの利点、欠点などを紹介し、最終的にどういう場合にTaurusを使うべきかを記載します。

Taurusとは

Taurusは、JMeter、Locust、Gatling といった既存の負荷試験ツールをバックエンドとして利用できるフレームワークです。
既存の負荷試験ツールの一枚前にファサードとしてTaurusが置かれているというイメージです。

Taurusの利点

YAML形式でシナリオを記述できる

  • 複雑なGUIと格闘したり、知らないプログラミング言語でシナリオを書く必要がない
  • YAML形式なのでバージョン管理が容易

このようなYAMLファイルを書くことになります(実務で利用したものをベースに一部改変したものです)。
特に知らなくても比較的わかりやすいのではないかと思います。

環境構築の容易さ

Taurusを直接ホストOSにインストールして利用できますが、Dockerコンテナ上で実行させることもできます。
Dockerコンテナ上で実行するため(例えば)Javaや各テストツールをインストールすることなく、以下のコマンドだけで負荷試験を実行できます。

自由に負荷試験ツールを選択できる

  • バックエンドとして利用するツールの(JMeter/Locust/Gatling など)に切り替えが容易
  • 各ツールの強みを活かしつつ、共通のYAMLファイルでシナリオの記述が可能

Taurusの欠点

(無償プランの範囲内では)レポート機能がいまいち実用的ではない

Taurusは負荷試験サービスBlazeMeterとの連携が容易で、Taurusの実行結果をBlazeMeterへ逐一送信することが可能です。
これにより美麗なレポートをWeb上で閲覧することが可能です。
PDF形式でのダウンロードも可能で、証跡としても利用できます。

ただし、Free Starterプラン(無償プラン。特にBlazeMeterへの登録さえも行っていない場合も含む)の場合、閲覧できるレポートに大きな制限があります。
たとえば、20分以上のテスト結果が表示できないなど、長時間負荷試験の分析には不向きです(2025年8月時点)。
https://www.blazemeter.com/pricing

Free Starterプランの制約に引っかかってしまう場合、以下のように別の手段でレポートを生成する必要があります。

レポート生成方法の一例

Taurusは実行時にローカルの artifactsディレクトリへ試験結果を出力します。これをもとにレポートを生成することができます。
JMeterをバックエンドとして利用している場合は、以下のようにHTMLレポートを生成するのが良いでしょう。

情報に乏しい

ナレッジがWeb上にあまり溜まっておらず、情報に乏しいです。

リアルタイムレポーティング機能の意義

Taurusの機能として、ターミナル上でのリアルタイムでのレポーティングがプッシュされています。
こちらの動画の通り、Taurusを実行するとターミナル上にグラフィカルなUIが表示され、試験の結果をリアルタイムで確認できます。
https://www.youtube.com/watch?v=-wnRk4hTTpo

これによって大体の負荷試験の結果を把握することができ、負荷試験を中断するか、といった判断材料に使うことができます。

ただし、業務上でTaurusを実行する場合、この機能をあまり使うことはないと思われます。

  • 負荷試験ツールを実行する際は中断を防ぐためにバックグラウンドで実行する。このため、このUIを見ることができない
  • バックグラウンドで実行した際、以下のように随時結果を出力することができる。このため、負荷試験がうまくいっていそうかはここから判断することができる

どういった場合にTaurusを使うべきか

  • シナリオのバージョン管理がしたい
    • LocustであればPython、Grafana k6であればTypeScriptで記述できるため、これらのプログラミング言語に習熟している場合は特にメリットとならない
  • JMeterやLocust、Gatlingなど複数の負荷試験ツールを切り替えつつ利用したい
  • 環境の汚染を避けたい。負荷試験を実行する環境にソフトウェアを直接インストールせず、コンテナで完結させたい

Taurus