Linux 上安装 Locust
Locust 是基于 Python 语言的一个性能测试库,如果要想使用它来做性能测试必须要先安装 Python 。
通过 pip 命令安装
核心命令如下
$ pip install locust
Python 2.7:
$ python -m pip install locustio
Python 3:
$ python3 -m pip install locustio
通过GitHub下载安装
注意,这是开发版本的,可能没有那么稳定,但是你可以体验到最新的功能;
如果您想要最新版本,可以使用 pip 直接从 Git 仓库安装。例如,使用 Python 3 安装 master 分支
$ python3 -m pip install -e git://github.com/locustio/[email protected]#egg=locustio
一旦安装了 Locust,
您可以在 shell 中使用 locust 命令了;
通过 help 检查是否安装成功
$ locust --help
支持的 Python 版本
Python 2.7, 3.5, 3.6, 3.7, 3.8.
增加最大打开文件数的限制
机器上的每个 HTTP 连接都会打开一个新文件(技术上是文件描述符)。
操作系统可能会为可以打开的最大文件数设置一个下限。
如果该限制小于测试中模拟用户的数量,则会发生故障。
将操作系统的默认最大文件数限制增加到大于您要运行的模拟用户数的数量。
如何执行此操作取决于所使用的操作系统。
安装依赖分析
这里想简单介绍 Locust 都基于了哪些库。打开 Locust 安装目录下的 setup.py 文件。查看安装要求:
install_requires=["gevent>=1.1.2", "flask>=0.10.1", "requests>=2.9.1", "msgpack-python>=0.4.2", "six>=1.10.0", "pyzmq==15.2.0"]
- gevent 是在 Python 中实现协程的一个第三方库。协程,又称微线程(Coroutine)。使用 gevent 可以获得极高的并发性能。
- flask 是 Python 的一个 Web 开发框架。
- Requests 用来做 HTTP 接口测试。
- msgpack-python 是一种快速、紧凑的二进制序列化格式,适用于类似 JSON 的数据。
- six 提供了一些简单的工具用来封装 Python2 和 Python3 之间的差异性。
- pyzmq 如果你打算运行 Locust 分布在多个进程 / 机器,建议你安装 pyzmq。
当我们在安装 Locust 时,它会检测我们当前的 Python 环境是否已经安装了这些库,如果没有安装,它会先把这些库一一装上。并且对这些库版本有要求,有些是必须等于某版本,有些是大于某版本。我们也可以事先把这些库全部按要求装好,再安装 Locust 时就会快上许多。