阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Linux 上安装 Locust

      Locust 是基于 Python 语言的一个性能测试库,如果要想使用它来做性能测试必须要先安装 Python 。

      通过 pip 命令安装

      Locust在 PyPI 上可用,可以通过 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 时就会快上许多。

      目录
      目录