阿西河

所有教程

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

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Windows 上安装 Locust

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

      支持的 Python 版本

      Python 2.7, 3.5, 3.6, 3.7, 3.8.

      Windows 上安装 Locust

      在 windows 使用 pip install locustio 命令来安装 (pip 需要你自己装的哦);

      > pip install locust
      
      Collecting locust
        Downloading locust-0.8.tar.gz (225kB)
          59% |███████████████████             | 133kB 199kB/s eta 0:00:0
          63% |████████████████████▍           | 143kB 304kB/s eta 0:00:
          68% |█████████████████████▉          | 153kB 358kB/s eta 0:0
          72% |███████████████████████▎        | 163kB 355kB/s eta 0:
          77% |████████████████████████▊       | 174kB 421kB/s eta
          81% |██████████████████████████▏     | 184kB 449kB/s eta
          86% |███████████████████████████▋    | 194kB 439kB/s e
          90% |█████████████████████████████   | 204kB 487kB/s
          95% |██████████████████████████████▌ | 215kB 492kB/s
          99% |████████████████████████████████| 225kB 487kB
          100% |████████████████████████████████| 235kB 417k
      
          ....
      

      但是,如果运行不了,可以通过先为 pyzmq,gevent 和 greenlet 安装预构建的二进制软件包来修复它。

      http://www.lfd.uci.edu/~gohlke/pythonlibs/

      下载预构建的·whl 文件后,可以使用以下方法进行安装:

      $ pip install name-of-file.whl
      

      完成后,您应该可以 pip install locustio.

      windows 使用注意

      在 Windows 上运行 Locust 可以很好的开发和测试。

      但是,如果你要运行大规模测试时,建议还是在 Linux 计算机上执行,因为 gevent 在 Windows 下的性能表现很差的。

      如果你用 windows 机器来搞,你的本机性能表现可能不怎么好

      GitHub 下载安装

      GitHub 项目地址:https://github.com/locustio/locust/

      将项目克隆下来,通过 Python 执行 setup.py 文件

      ...\locust> python setup.py install
      
      running install
      running bdist_egg
      running egg_info
      creating locustio.egg-info
      writing locustio.egg-info\PKG-INFO
      writing dependency_links to locustio.egg-info\dependency_links.txt
      writing entry points to locustio.egg-info\entry_points.txt
      writing requirements to locustio.egg-info\requires.txt
      writing top-level names to locustio.egg-info\top_level.txt
      writing manifest file 'locustio.egg-info\SOURCES.txt'
      ...
      

      最后,检查是否安装成功。打开 Windows 命令提示符,输入 “locust –help” 回车。

      > locust --help
      
      Usage: locust [options] [LocustClass [LocustClass2 ... ]]
      
      Options:
        -h, --help            show this help message and exit
      
      ...
      

      每个参数的含义,将会放到后面介绍。

      增加最大打开文件数的限制

      机器上的每个 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 时就会快上许多。

      目录
      目录