【ガトリング】

Gatling とは?

最終更新:
💡 サーバーに弾丸のようなリクエストを撃ち込む「ガトリング砲」

WebアプリケーションやAPIの性能を調べる負荷テストツール。Java、Kotlin、Scala、JavaScript、TypeScriptでシナリオを記述でき、実行結果をレポートで確認できます。

📌 このページのポイント
Gatling:コードで負荷をかけて調べる テストシナリオ Java / Kotlin / Scala JavaScript / TypeScript 人数・到着ペースを設定 リクエスト Web / API HTMLレポートで結果を確認 応答時間の分布 成功・失敗の件数 図はイメージ。性能値を表すものではありません
Community Editionの静的HTMLレポートで、送った負荷と応答の結果を調べます。
ひよこ ひよこ
Gatlingってどういうツールなの?
ペンギン先生 ペンギン先生
WebアプリケーションやAPIに大量のリクエストを送って、性能をテストするツールだよ。名前のとおりガトリング砲みたいにリクエストを連射して、サーバーがどこまで耐えられるか調べるんだ
ひよこ ひよこ
k6やJMeterとはどう違うの?
ペンギン先生 ペンギン先生
Gatlingはコードでシナリオを管理できるツールだよ。対応言語や連携方法、レポートで見たい項目を比べて選ぶといいね。使う条件によって向き不向きが変わるんだ
ひよこ ひよこ
Scalaを知らなくても使えるの?
ペンギン先生 ペンギン先生
使えるよ。Java、Kotlin、Scalaのほか、JavaScriptやTypeScriptにも対応しているんだ。慣れた言語を選んでシナリオを書けるよ
ひよこ ひよこ
レポートがきれいって聞いたけど、どんな感じなの?
ペンギン先生 ペンギン先生
テスト実行後にHTMLファイルが自動生成されて、レスポンスタイムの分布グラフ、リクエスト数の推移、パーセンタイル分析などが一目で分かるんだ。Community Editionの静的HTMLレポートは、ブラウザーで開いて結果を調べられるよ
ひよこ ひよこ
大規模なテストをするときはどうするの?
ペンギン先生 ペンギン先生
商用のGatling Enterprise Editionでは、複数の負荷生成環境を使ってテストを拡大できるよ。生成できる負荷はシナリオやマシン、ネットワークに左右されるので、他のツールより何倍も速いと一律には言えないんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Gatling」って出てきたら「コードでシナリオを書いて性能を調べる負荷テストツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Gatling」 = ガトリング砲(連射銃)
💬 負荷テストツールの名前だよ。ガトリング砲のようにリクエストを連続して送ると考えると、役割をイメージしやすいね

参考資料

← 用語集にもどる