1. 需求
前段时间有位朋友看完我之前的文章Locust + python + influxdb + grafana 展示性能压测QPS图表之后,咨询我如何安装Locust。
![916ee41648d670ad725fd27bdefaf925.png](https://i-blog.csdnimg.cn/blog_migrate/6fad614427be177876493e243d5c0256.png)
真的是很抱歉,拖了那么长的时间,大概拖了一周左右的。今天抽个时间来写一个安装说明的步骤。
2. Locust是什么
Locust是一款使用python开发的压测工具库。由python编写压测脚本。
3. Locust官网
https://www.locust.io/
![c8a93a425b08423e66d022e1cb0992a2.png](https://i-blog.csdnimg.cn/blog_migrate/9c43b449154a00d02677119722a3b13b.png)
可以从官网上面看到关于Locust这个开源库的Github地址。如果有兴趣查看源代码的同学可以去瞧瞧,看起来有种真香的感觉。
往下翻官网还有简单的测试例子示例,如下:
![649e9167887f8960fec629f004daf84a.png](https://i-blog.csdnimg.cn/blog_migrate/b2e1c8f477c501a3f2420cbb04c6152d.png)
不过,限于时间与篇幅,本篇章我只讲解关于Locust在Centos7与win10的安装步骤,其实Centos6基本与Centos7一致,没啥差别。
4.Centos7下python3安装locust
4.1 安装文档
https://docs.locust.io/en/stable/installation.html
![bbe88dc9677e63f93539109afd10758a.png](https://i-blog.csdnimg.cn/blog_migrate/17fbdac72e041f93be163b7fe3cb0f12.png)
对,没错,就是这么简单。
4.2 使用pip工具安装
![652f66ad956a7194850a4579229c86c7.png](https://i-blog.csdnimg.cn/blog_migrate/0063e7a9f91d37e63118c3577c797cd1.png)
使用pip3安装locustio即可,如下:
pip3 install locustio
4.3 配置locust命令
安装完毕之后,应该看看能否使用locust命令。
![9788c99ae900d469a87c855c31149fe0.png](https://i-blog.csdnimg.cn/blog_migrate/2a09993ad8052849e6b95770e12d58e2.png)
可以从上图看出并没有将locust命令配置好环境变量中,那么就需要将该命令的可执行文件软链接到/use/bin目录中,方便调用。
![e383e9f132f99505269b6947fca487dd.png](https://i-blog.csdnimg.cn/blog_migrate/15306509f1fe8437e17d0e41469b451c.png)
ln -s /usr/local/python3/bin/locust /usr/bin/locust
将locust的可执行文件软链接到/usr/bin目录,那么就可以直接执行命令了。
使用locust执行文件查看版本号,如下:
[root@server01 ~]# locust --version
locust 0.12.2
[root@server01 ~]#
注意:locust的二进制可执行文件是被pip3直接安装到python3的安装目录下的,如果还是不清楚在哪里,可以执行以下命令搜搜:
[root@server01 ~]# find / -name "locust" -ls
167682 0 lrwxrwxrwx 1 root root 29 Nov 11 11:33 /usr/bin/locust -> /usr/local/python3/bin/locust
406610 4 -rwxr-xr-x 1 root root 229 Nov 11 11:29 /usr/local/python3/bin/locust
这样就可以搜索到locust的所在路径了。
4.4 注意:需要增加系统最大打开文件数限制
计算机上的每个HTTP连接都会打开一个新文件(从技术上讲是一个文件描述符)。操作系统可以为可以打开的最大文件数设置下限。如果限制小于测试中的模拟用户数,则会发生故障。
将操作系统的默认最大文件数限制增加到高于您要运行的模拟用户数的数量。如何执行此操作取决于使用的操作系统。
查看一下当前系统的文件打开数,如下:
![e9afd1eab54288697a60339b803faa0e.png](https://i-blog.csdnimg.cn/blog_migrate/10ccb5086a283bb848de68aaceb09d35.png)
也就是说,如果我不做其他配置,进行压测的最大用户模拟数量为1024,作为测试使用也是足够的了。
好了,到这里就安装好locust了。下面来看看win10怎么安装,如下。
5. Windows下python3安装locust
5.1 使用pip3工具安装
![7665d4ee9fba8b8a64376271c541b444.png](https://i-blog.csdnimg.cn/blog_migrate/937b8ef7c5bf1797b1c65d9e1f39ed37.png)
pip3 install locustio
5.2 安装完毕之后,查看locust版本
![08945c6aa1ef639828d28174a547e143.png](https://i-blog.csdnimg.cn/blog_migrate/2f6952f23ce62e232ebe46297afd7359.png)
这里说明windows已经安装好了。
这里你可能要问下好像没有配置二进制可执行文件的软链接,在windows下在安装python3的时候就会配置好全局环境变量,所以自然就可以执行环境变量下的可执行文件,效果是一致的,所以这里我就不需要配置了。
5.3 运行压测脚本
locust --host=http://192.168.196.129:8008
![053639564d8ef5e31daec2fe861e9747.png](https://i-blog.csdnimg.cn/blog_migrate/dedb6afb2216059dcdd45808adb92643.png)
可以从打印出来的日志信息看到,locust启动了一个8089的web服务。
5.4 使用浏览器打开web监控服务
访问 http://localhost:8089/
![7dc7a14136af9ad374e246be1bbf691f.png](https://i-blog.csdnimg.cn/blog_migrate/fa9b9e55e7c52eacb01c25ed282ce8c6.png)
这就是locust采用web方式启动压测脚本的功能,当然还有无web模式,分布式启动等方式。