シンプルな UI で初心者にもおすすめということで、Locust というツールを使って api の負荷テストを行ってみました。
Locust
オープンソースの負荷テストツールで、api の負荷テストなどを行えるツールです。
イナゴのように、大量発生したリクエストをどれだけ対処できるか...といった感じでしょうか。
特徴
- Pythonで書かれた負荷テストツールで、シナリオの作成がPythonスクリプトで行えるため、柔軟にシナリオをカスタマイズできます。
- 分散負荷テストにも対応しているため、大規模なテストを実行したい場合にも向いています。
インストール
$ pip install locust
** テスト
作成
locustfile.py というファイルを作成し、以下の内容を追加します。
from locust import HttpUser, task class SampleApi(HttpUser): @task(1) def task_a(self): # requestのモジュールと同じ書き方でリクエストができます self.client.get('/')
実行
このテストを実行し、Web UI を立ち上げてアクセスします。
$ locust -f locustfile.py [2024-10-29 18:24:54,605] xxxxxxxx/INFO/locust.main: Starting Locust 2.32.0 [2024-10-29 18:24:54,606] xxxxxxxx/INFO/locust.main: Starting web interface at http://0.0.0.0:8089
Web UI
パラメータ設定
パラメータを設定します。
- Number of users (peak concurrency): 同時ユーザ数(最大)
- Ramp Up (users started/second): 1秒間でのユーザ増加数
- Host: リクエスト先
結果