Locust: サーバ負荷テスト


前提


ドキュメント


インストール

pip3 install locustio

テストの流れ

  1. locustfile.py: シナリオをコーディング
  2. locust --host=http://example.com: Locustサーバ起動
  3. ブラウザからテスト実行、確認

locustfile.py: シナリオをコーディング

# トップページに1秒間隔でアクセスする例

from locust import HttpLocust, TaskSet, task

# タスクを表すクラス
class MyTaskSet(TaskSet):
  # 一つのタスク
  @task()
  def home(self):
    self.client.get("/") # トップページにアクセス

# Httpユーザを表すクラス
class MyLocust(HttpLocust):
  # タスクセット代入
  task_set = MyTaskSet
  # タスク間の間隔(ミリ秒)(デフォルト1秒)
  min_wait = 1000
  max_wait = 1000

Locustサーバ起動

locust --host http://server

ブラウザからテスト実行、確認

localhost:8089にブラウザでアクセスし、ユーザ数を入力して実行。