安装
pip install locustio
使用
from locust import HttpLocust, TaskSet, task
class GetData(TaskSet):
# 用户执行task前调用
def on_start(self):
pass
# 用户执行完task后调用
def on_stop(self):
pass
@task
def get_file(self):
# 头部
header = {'_dubbo_token': 'http_token', '_method_name': 'get'}
# 参数
data = {'role': 'user','bizGetBean': 'case'}
# 发起请求
response = self.client.post('/user', data=data, headers=header)
class UserImitate(HttpLocust):
# 域名/IP
host = 'http://example.com'
# 设置task
task_set = GetData
# 指定在执行任务(min_wait和max_wait)和其他用户行为之间的最小和最大等待时间(以毫秒为单位—每个模拟用户)
min_wait = 5000
max_wait = 9000
运行
控制台启动
locust -f 脚本路径 -h 域名
# --no-web 不使用web页面
# -c 设置虚拟用户数
# -r 设置每秒启动虚拟用户数
# -t 设置设置运行时间
打开浏览器http:\localhost:8089
- 输入模拟用户数
- 每秒产生(启动)的用户数
分析结果
Type: 请求的类型,例如GET/POST。
Name:请求的路径。
request:当前请求的数量。
fails:当前请求失败的数量。
Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。
Average:平均值,单位毫秒,所有请求的平均响应时间。
Min:请求的最小服务器响应时间,单位毫秒。
Max:请求的最大服务器响应时间,单位毫秒。
Content Size:单个请求的大小,单位字节。
reqs/sec:是每秒钟请求的个数。