mac下locust的安装
mac下locust的安装
一、locust介绍
1. 定义
Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户(单机并发能力高),不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)
2. 特点
1)不需要编写笨重的UI或者臃肿的XML代码,基于协程而不是回调,脚本编写简单易读;
2)有一个基于we简洁的HTML+JS的UI用户界面,可以实时显示相关的测试结果;
3)支持分布式测试,用户界面基于网络,因此具有跨平台且易于扩展的特点;
4)所有繁琐的I / O和协同程序都被委托给gevent,替代其他工具的局限性
3. locust的核心思想
locust 中的核心思想就是可以让用户通过编写 Python 程序来进行性能测试,而不是使用 UI 界面点击或者其他的专属类型语言,这样可以让开发人员感到非常的友好,以及使用上面的便利。
二、安装
1. 先安装python
安装命令:brew install python3
2. 安装locust
pip3 install locust
3. 检查locust是否安装成功
1)检查locust安装信息
pip3 show locust
1 Name: locust 2 Version: 2.29.0 3 Summary: Developer-friendly load testing framework 4 Home-page: 5 Author: 6 Author-email: 7 License: MIT 8 Location: /Users/hxq/Library/Python/3.9/lib/python/site-packages 9 Requires: ConfigArgParse, flask, Flask-Cors, Flask-Login, gevent, geventhttpclient, msgpack, psutil, pyzmq, requests, tomli, Werkzeug 10 Required-by:
2)查询locust版本
locust -V
报错:zsh: permission denied: locust
解决办法:添加环境变量
echo 'export PATH="/Users/hxq/Library/Python/3.9/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
再次执行 locust -V ,仍然有报错
1 /Users/hxq/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: 2 urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. 3 See: https://github.com/urllib3/urllib3/issues/3020 4 warnings.warn( locust 2.29.0 from /Users/hxq/Library/Python/3.9/lib/python/site-packages/locust (Python 3.9.6, LibreSSL 2.8.3)
定位原因:
这个报错是在引用urllib3库时,由于v2版本仅支持OpenSSL 1.1.1以上的版本,而当前的ssl模块的版本为LibreSSL 2.8.3。知道问题产生的原因后,那么我们就需要解决这个版本不同步的问题。
解决办法:
我们可以降低urllib3的版本,根据urllib3的发布日志来看,我们需要将urllib3的版本降低到1.x版本。具体操作根据你所使用的包管理器会略有不同,这里演示pip如何操作
// 1. 卸载
pip uninstall urllib3
// 2. 指定版本重新安装
pip install urllib3==1.26.15
这下再执行locust -V 就恢复正常了
返回结果如下:
locust 2.29.0 from /Users/hxq/Library/Python/3.9/lib/python/site-packages/locust (Python 3.9.6, LibreSSL 2.8.3)
参考链接:https://juejin.cn/post/7345111272171683867