前言
- 一旦单台计算机不足以模拟所需的用户数量,Locust就会支持运行分布在多台计算机上的负载测试。
- 为此,您可以使用该--master标志在主模式下启动Locust的一个实例,使用该--worker标志以及 --master-host(指定主节点的IP /主机名)来启动一个或-可能是多个工人Locust节点。
脚本
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/4/10 3. # @Author : 大海 4. 5. import os 6. from locust import HttpUser, task, constant 7. 8. 9. class MyUser(HttpUser): 10. wait_time = constant(1) 11. 12. @task 13. def my_task(self): 14. self.client.get('/') 15. 16. 17. if __name__ == '__main__': 18. file_path = os.path.abspath(__file__) 19. os.system(f'locust -f {file_path} --master --web-host=127.0.0.1')
启动
- 启动master:locust -f my_loucstfile.py --master
- 启动worker:locust -f my_loucstfile.py --worker --master-host=127.0.0.1
参数
- --master:设置为主节点
- --worker:设置为负载节点
- --master-host:(可选)与--worker设置主节点的主机名/ IP一起使用(默认为127.0.0.1)
- --master-port:(可选)与--worker一起设置主节点的端口号(默认为5557)
- --master-bind-host:可选与一起使用--master。确定主节点将绑定到的网络接口。默认为*(所有可用接口)
- --master-bind-port:可选与一起使用--master。确定主节点将侦听的网络端口。默认为5557
- --expect-works:使用启动主节点时使用--headless。然后,主节点将等待,直到X个工作节点已连接,然后才能开始测试
效果