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】,欢迎大家订阅,我会同步文章到公众号上。

posted @ 2024-12-14 20:39  一方_self  阅读(12)  评论(0编辑  收藏  举报