2018年8月24日
こんにちはインターンのyouです.
$ sudo su
$ pip install locustio
$ exit
これでlocustを使う準備は完了し,あとは負荷処理の内容をエディタで「locustfile.py」というファイルを作成し,次の様なスクリプトを書きます.
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import unicode_literals
from locust import HttpLocust, TaskSet, task
class UserTaskSet(TaskSet):
def on_start(self):
self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"})
self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "testt"})
@task
def index(self):
self.client.post("/wp-login.php", {"text": "test@mail.ma", "password": "test0000"})
self.client.post("/wp-login.php", {"text": "tests@mail.ma", "password": "testt"})
self.client.get("/?s=a")
self.client.get("/wp-admin/")
class WebsiteUser(HttpLocust):
task_set = UserTaskSet
min_wait = 1000
max_wait = 1000
これを実行するには以下のコマンドを実行し,-hオプションで試験先URLを指定します.
$ locust -H example.com
実行したらhttp://localhost:8089 にアクセスし,Number of users to simulate: と
Hatch rate: に値を入力しStart swarmingをクリックします.
以上で負荷試験が開始し,レスポンス時間等を確認できます.
まとめ
今回は単純なログインを行っただけなので簡単でした.
今後はSQLを使った負荷試験やAPIの負荷試験もやってみたいと思いました.