Locust 安装及运行
- 创建虚拟环境,并进入
1 | pip install locustio==0.14.6 (0.14.6 版本安装) |
- 脚本运行
1 | locust -f ***.py |
- 浏览器访问
1 |
|
Locust 运行模式
Web 界面启动 (单进程)
参数:
–web-host: HOST
–web-port: PORT
1 |
|
命令行启动 (单进程)
参数:
–headless : 禁用 Web 界面,且立即开始负载测试 需要 -u 和 -t 被指定
–host : 地址 http://192.168.40.1:8090 (https://www.baidu.com)
–csv : 保存执行结果 –csv=result
-u/–users : 虚拟用户数
-r/–spawn-rate : 每秒孵化数(每秒增加用户数)
-t/–run-time : 运行时间(h, m, s, 1h30m)
1 |
|
分布式运行(多进程)
角色:
- 主机: –master; 只负责管理不运行脚本
- 从属主机(执行机): –worker –master-host=主机 IP
注意:
- 执行机必须有主机脚本的副本
2. 同一台机子执行, 处理器的核心数就是执行机的最大数量
参数:
–master :
–web-host: 访问 IP
–web-port: 端口号
–master-bind-host : 要绑定的主机名,IP; 仅在 master 时使用,可以不使用
–master-bind-port : 要绑定的主机端口号; 仅在 master 时使用,可以不使用
–expect-workers : 执行机数量 仅在 headless 时使用–worker : 如果 master 和 worker 不在同一台机器上, worker 需要指定 –master-host 参数
–master-host : 运行 master 时设置的 host
–master-port : 运行 master 时设置的 port
- Web 界面启动
1 |
|
FastHttpUser 和 HttpUser
FastHttpUser
HttpUser
Locust + geventhttpclient
geventhttpclient
SequentialTaskSet 和 TaskSet
SequentialTaskSet
TaskSet
Locust 多进程 数据共享
Locust 运行 Go 语言
使用 Locust + Go 实现性能测试, 比 py 脚本性能提高到 5 - 10 倍
待研究。。。。。。