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 时就会快上许多。


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>