python+locust性能测试
locust是一个易于使用的,分布式的,用户负载测试工具。用于web站点(或其他系统)的负载测试,然后算出系统能够处理多少并发用户。
locust
Locust(俗称 蝗虫), 一个轻量级的开源压测工具,用Python编写。用于web站点(或其他系统)的负载测试,然后算出系统能够处理多少并发用户。
ocust的思想是:在测试期间,一大群"蝗虫"会攻击你的网站,每一个"蝗虫"的行为都是由你自己定义的,同时,可以在一个web界面上实时的监控这群进程。这会帮助你更好的"进行战斗",在真正的用户进入之前,就找出代码中的瓶颈。
安装
1 | pip install locustio |
示例
1 | coding=utf-8 |
运行
如果启动的locust文件名为locustfile.py并位于当前工作目录中,可以在编译器中直接运行该文件,或者通过cmd,执行如下命令:
1
locust --host=https://www.cnblogs.com
如果Locust文件位于子目录下且名称不是locustfile.py,可以使用-f命令启动上面的示例locust文件:
1
locust -f testscript/locusttest.py --host=https://www.cnblogs.com
如果要运行分布在多个进程中的Locust,通过指定
-master
以下内容来启动主进程 :1
locust -f testscript/locusttest.py --master --host=https://www.cnblogs.com
如果要启动任意数量的从属进程,可以通过-salve命令来启动locust文件:
1
locust -f testscript/locusttest.py --salve --host=https://www.cnblogs.com
如果要运行分布式Locust,必须在启动从机时指定主机(运行分布在单台机器上的Locust时不需要这样做,因为主机默认为127.0.0.1):
1
locust -f testscript/locusttest.py --slave --master-host=192.168.0.100 --host=https://cnblogs.com
启动locust文件成功后,编译器控制台会显示如下信息:
1
2
3[2018-10-09 01:01:44,727] IMYalost/INFO/locust.main: Starting web monitor at *:8089
[2018-10-09 01:01:44,729] IMYalost/INFO/locust.main: Starting Locust 0.8
- 注:8089是该服务启动的端口号,如果是本地启动,可以直接在浏览器输入http://localhost:8089打开UI界面,如果是其他机器搭建locust服务,则输入该机器的IP+端口即可;
locust的UI界面
1 | Number of users to simulate:设置模拟的用户总数 |
测试结果界面
1 | Type:请求类型,即接口的请求方法; |
模块说明
1 | New test:点击该按钮可对模拟的总虚拟用户数和每秒启动的虚拟用户数进行编辑; |