性能专题:Locust工具实战之“蝗虫”降世

简介: 性能专题:Locust工具实战之“蝗虫”降世

1. 前言


在上一篇文章中,我们已经为大家介绍了什么是Locust,具体可参照:性能专题:Locust工具实战之开篇哲学三问,简单来说,Locust 是基于 Python 语言下的一个性能测试库,如果要想使用它来做性能测试必须要先安装 Python。


Locust支持的Python版本有2.7, 3.5, 3.6, 3.7, 3.8。


Python安装较为简单,此处省略,以Python3.8为例,读者可自行查阅官网安装使用介绍。


https://docs.python.org/3/using/index.html

2. 为何取名“蝗虫降世”


本篇在标题上面,卖弄了一下关子,原名应该为: 《性能专题:Locust工具实战之Locust安装》,但想想,Locust意为“蝗虫”,安装本身的“作用”无非也是让一个事物,从没有到有一个过程。一篇文章,优质的内容固然重要,但一个具有吸引力、有创意的标题也同等重要,想起今年上映的一部备受好评的电影:《哪吒之魔童降世》,正因为这个名称,才吸引我去电影院观看,也算是我为这部电影50亿高票房,贡献了一点绵薄之力,因此本篇文章,改名为“蝗虫降世”

微信图片_20220523200922.png

引用电影宣传报一张贴图,封面上的:“打破,一切是否是非定义” 这句话很有深意,可以适用于很多事物思考,思维层面。

3.  Loucst 安装


Locust安装过程并不难,常见的有两种安装方式。


第一种,直接通过PIP命令形式安装,

Python 2.7:

$ python -m pip install locustio
$ pip install locustio

Python 3:

$ python3 -m pip install locustio
$pip3 install locustio

除此之外,还可以根据项目源码地址指定分支的形式来安装locust。

Python 3为例,安装master分支上面的代码。


$ python3 -m pip install -e git://github.com/locustio/locust.git@master#egg=locustio


方式二,GitHub下载安装


1、进入到Locust GitHub项目地址:


https://github.com/locustio/locust/


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


...\locust> python setup.py install


安装成功后可以输入 `pip show locust` 命令查看是否安装成功,以及通过 `locust -help` 命令查看帮助信息。


PS:  当前最新Locust版本为0.13.2


注意事项:

  • 运行大规模测试时,建议在Linux机器上执行此操作,因为gevent在Windows下的性能比Linux下面要差很多。
  • 如果打算运行Locust 分布在多个进程/机器,需要安装pyzmq。


更详细的安装介绍可参照官方安装文档:


https://docs.locust.io/en/stable/installation.html#installing-locust-on-macos


4. Locust 安装依赖分析


这里简单介绍 Locust 都基于了哪些库。打开 Locust 安装目录下的 setup.py 文件。查看安装要求:

install_requires=[
        "gevent>=1.2.2", 
        "flask>=0.10.1", 
        "requests>=2.9.1", 
        "msgpack-python>=0.4.2", 
        "six>=1.10.0", 
        "pyzmq>=16.0.2", 
        "geventhttpclient-wheels==1.3.1.dev2",
    ]


  • gevent:在Python中实现协程的第三方库(一种网络库),协程又叫微线程Corouine,使用gevent可以获取极高的并发能力。
  • flask:Python下的一个Web开发框架,和Django相当。
  • requests:支持HTTP/HTTPs请求访问的库。
  • msgpack-python:一种快速、紧凑的二进制序列化格式,使用类似JSON的数据,主要提供MessagePack数据序列化及反序列化的方法。
  • six:Python 2和Python 3兼容库,用来封装处理Python 2和Python 3之间的差异性。
  • pyzmq:主要用来实现Locust的分布式模式运行,安装这个第三方库,可以把Locust运行在多个进程或多个机器(分布式)。


当我们在安装 Locust 时,它会检测我们当前的 Python 环境是否已经安装了这些库,如果没有安装,它会先把这些库一一装上。并且对这些库版本有要求,有些是必须等于某版本,有些是大于某版本。我们也可以事先把这些库全部按要求装好,再安装Locust时就会快上许多。


5. 小结


本文介绍了Locust安装方法,也是为后续Locust实战示例,提前准备好环境。如果你对Locust性能工具已经提起学习兴趣了,请趁早动手起来。

目录
相关文章
|
1月前
|
数据挖掘 测试技术 BI
性能工具之 Gatling 快速入门
Gatling 是一款基于 Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标。
35 1
性能工具之 Gatling 快速入门
|
4月前
|
XML 测试技术 数据格式
Python性能测试Locust简介
Python性能测试Locust简介
Python性能测试Locust简介
|
5月前
|
Cloud Native 测试技术
性能测试小工具 wrk 可以怎么用
性能测试小工具 wrk 可以怎么用
|
7月前
|
消息中间件 Java 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
164 1
|
15天前
|
Ubuntu 物联网 Linux
性能工具之emqtt_bench快速上手
【4月更文挑战第8天】MQTT 协议是目前最适合物联网场景数据平台搭建的通信协议。基于此,BenchMark 联网场景中的 MQTT 消息采集与传递,以及如何构建一个百万级,甚至千万级 MQTT 消息平台,可以为物联网业务的企业用户提供平台架构设计参考。
31 2
性能工具之emqtt_bench快速上手
|
23天前
|
监控 测试技术 Python
性能工具之 Locust 简单入门
【4月更文挑战第1天】Locust是一个易于使用,分布式,用户负载测试工具。它用于负载测试web站点(或其他系统)并计算一个系统可以处理多少并发用户。
26 1
性能工具之 Locust 简单入门
|
1月前
|
Java Scala Maven
性能工具之 Gatling 开发环境搭建
编写 Gatling 脚本需要搭建脚本开发环境,下面演示使用 IDEA 开发环境搭建脚本开发环境。
26 2
性能工具之 Gatling 开发环境搭建
|
7月前
|
数据采集 算法 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
157 1
|
7月前
|
JSON 测试技术 API
深聊性能测试,从入门到放弃之:Locust性能自动化(五)API汇总整理(下)
深聊性能测试,从入门到放弃之:Locust性能自动化(五)API汇总整理(下)
90 0
|
8月前
|
开发框架 JSON 资源调度
Locust压测框架入门
Locust压测框架入门
96 0