【ロカスト】
Locust とは?
💡 イナゴの大群のようにリクエストを送り込む負荷テストツール
📌 このページのポイント
- Pythonの普通のコードでテストシナリオを記述できるため、Python開発者にとって学習コストが低い
- WebUIからテストの開始・停止やリアルタイムのグラフ監視ができる
- 分散モードで複数マシンから負荷をかけることで、大規模なテストが可能
- イベント駆動アーキテクチャ(gevent)により、軽量に大量のユーザーをシミュレート可能
Locustってどんなツールなの?
Pythonで書けるのは便利そうだね!どんなコードを書くの?
WebUIがあるって聞いたけど、どんな感じなの?
大量のアクセスをシミュレートするときはどうするの?
分散モードを使うと、1台のマスターと複数のワーカーマシンで協調してテストできるよ。内部ではgeventというライブラリでコルーチンベースの軽量な並行処理を実現しているから、1プロセスでも数千のユーザーを同時にシミュレートできるんだ。Kubernetes上でワーカーをスケールアウトする構成も人気があるよ
📖 おまけ:英語の意味
「Locust」 = イナゴ(バッタの一種)
💬 イナゴの大群が農作物に襲いかかるように、大量のリクエストでサーバーに負荷をかけるイメージから名付けられたよ