Locust 部署压测
· 阅读需 2 分钟
Locust 部署压测
Python环境安装
要求 python 3.7+ 此处安装3.9版本测试
1、安装 Python 3.9
# 安装必要的开发工具和库
yum groupinstall -y "Development Tools"
yum install -y openssl-devel bzip2-devel libffi-devel zlib-devel
# 下载源码
curl -O https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
tar -xf Python-3.9.0.tgz
cd Python-3.9.0
# 配置并编译源代码
./configure --enable-optimizations
make -j$(nproc)
make altinstall # 使用 make altinstall 而不是 make install 来避免替换系统自带的 Python 版本
# 验证
python3.9 --version
2、安装 pip3
# 安装 pip3
curl -O https://bootstrap.pypa.io/get-pip.py
python3.9 get-pip.py
# 验证
pip3.9 --version
3、软连接替换
# 替换 pip3
which pip3.9
ln -s /usr/local/bin/pip3.9 /usr/local/bin/pip3
pip3 --version
# 替换 python
which python3.9
ln -s /usr/local/bin/python3.9 /usr/local/bin/python3
python3 --version
安装 Locust
1、安装 Locust
pip3 install locust
报错:
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
解决方案(两种都可以):
1、yum update openssl
2、pip3 install 'urllib3<2.0' # 降级 urllib3 的版本
2、创建一个 Locustfile
# 创建一个名为 locustfile.py 的文件,并在其中定义你的用户行为和任务。下面是一个简单的示例,该示例对一个网站进行 GET 请求:
from locust import HttpUser, task, between
class WebsiteUser(HttpUser):
wait_time = between(1, 2.5)
@task(1)
def load_main(self):
self.client.get("/")
# 定义了一个 WebsiteUser 类,它从 HttpUser 继承而来,并定义了一个 task 来模拟用户访问网站的主页。
3、运行 Locust
locust -f locustfile.py
4、访问 Locust web 界面
打开你的 web 浏览器,访问 http://127.0.0.1:8089 来访问 Locust 的 web 界面。
5、开始测试
在 Locust web 界面中,可以输入想要模拟的用户数量和用户启动速率,然后点击“开始测试”来开始测试。
这里看到一个实时更新的仪表板,显示了各种有用的性能指标,包括请求的数量、失败的数量、最小/最大/平均响应时间等。
如果需要更复杂的可以看这里:https://docs.locust.io/en/stable/