locust 压力测试工具windows平台从零开始安装使用
locust是一个用python写的接口压力测试应用,我们只需要编写简单的代码才能运行测试,前期安装需要一点python基础。
用以测试的接口需要一个一个通过代码添加,如下:
这就是一个测试的接口了,很简单,只需要接口的路径和参数,接口的主机地址会在web端输入:
locust需要python版本大于等于3.9。
好,我们开始安装:
我们使用conda创建一个虚拟环境:
conda create locust-test(虚拟环境名称,可自定义) python=3.10 -y
再切换到这个虚拟环境:
conda activate locust-test
安装locust,注意需要使用管理员模式,不然可能安装过程会报错(我自己就遇到了):
pip3 install locust -i https://pypi.mirrors.ustc.edu.cn/simple/
安装好后,我这里使用pycharm新建一个python项目,main.py:
from locust import HttpUser, task, between class MyUser(HttpUser): wait_time = between(5, 9) @task def my_task(self): self.client.post("/push-goods/list", json={ "pager": { "page": 1, "size": 10 } })
上面这个接口是一个post请求,接口路径为/push-goods/list,post参数为:
{ "pager": { "page": 1, "size": 10 }
接下来,我们在项目根目录输入命令:
这样就启动了locust的web端界面,我们打开 http://localhost:8090
界面是这样的:
我们输入请求的总次数和并发以及接口主机,如下配置:
10000次请求,并发数为100(1000我电脑都网断了,所以我改成了100),我们点击START,开始测试:
我的后端是GO写的,可以看到CPU占用20%左右,服务器配置:
加到300并发看一下:
上图是开启了nginx的nginx_status 模块,可以查看nginx的连接数,方法:
server { listen 127.0.0.1:8080; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } }
加到nginx的配置中:
这样执行命令:
watch -n 1 'curl http://127.0.0.1:8080/nginx_status 2>/dev/null | grep "Active"'
就可以查看nginx的连接数,且每秒刷新一次
如果locust的并发开的很高,我家里的带宽不够,家里的手机等设备都不能上网了,然后浏览器也打不开,所以还得分布式压测效果才好。
这篇分享文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。
想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。
感谢你的阅读与支持,期待在未来的文章中与你再次相遇!
我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。