locust是一款性能测试框架,比JMeter好的地方在于能产生更多的请求,因为locust是基于协程的,而JMeter是基于线程的。
安装
1 | pip install locust |
安装成功后查看版本信息:
1 | locust -V |
编写代码
1 | from locust import HttpUser, TaskSet, task, between, tag |
运行
执行命令
1 | locust -f file.py |
如果只执行带有tag
的业务代码
1 | locust -f file.py --tags view_page |
如果要进行分布式测试,首先启动master,master是管理节点,在这个节点上面查看统计数据。
1 | locust -f file.py --tags view_page --master |
再开两个worker节点, 如果主节点和从节点不在一台机器上,那需要指定master-host
参数。
1 | locust -f file.py --tags view_page --worker --master-host=192.168.1.2 |
当worker节点启动后,master的console里面会显示:
1 | [2021-03-05 18:42:39,333] /INFO/locust.runners: Client '1140b3a3ec57404194845264ee8dae1f' reported as ready. Currently 1 clients ready to swarm. |
打开压测页面,http://localhost:8089/