性能专题: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性能工具已经提起学习兴趣了,请趁早动手起来。

目录
相关文章
|
7月前
|
XML 测试技术 数据格式
Python性能测试Locust简介
Python性能测试Locust简介
Python性能测试Locust简介
|
消息中间件 Java 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
333 1
|
3月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
124 2
|
4月前
|
消息中间件 Java 测试技术
Python性能测试全攻略:JMeter与Locust,双剑合璧斩断性能瓶颈🗡️
【8月更文挑战第4天】在软件开发中,性能至关重要。对Python开发者来说,掌握高效性能测试方法尤为关键。本文将带您探索性能测试工具JMeter与Locust的强大功能。JMeter作为Java世界的巨擘,以其强大功能和灵活性在性能测试领域占有一席之地,不仅适用于Java应用,也能测试Python Web服务。
131 0
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
57 1
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
77 3
|
3月前
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1>2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
216 1
|
3月前
|
测试技术 持续交付 Apache
性能测试不再愁!Python+JMeter+Locust,三步打造高性能应用
【9月更文挑战第4天】随着互联网的发展,软件性能成为衡量应用成功的关键。性能测试确保应用稳定高效运行,但复杂环境和多样需求带来了挑战。Python、JMeter和Locust三款工具可构建高效全面的性能测试方案。Python语法简洁,库丰富;JMeter提供图形界面,支持多种协议;Locust基于Python,简单易用且高度可扩展。结合三者,能满足复杂需求,保证灵活性与高效性。无论初学者还是资深工程师,都能确保应用高性能运行。
46 1
|
4月前
|
监控 Java 测试技术
实战派必看!Python性能测试中,JMeter与Locust如何助力性能调优
【8月更文挑战第6天】性能优化是软件开发的关键。本文介绍JMeter与Locust两款流行性能测试工具,演示如何用于Python应用的性能调优。JMeter可模拟大量用户并发访问,支持多种协议;Locust用Python编写,易于定制用户行为并模拟高并发。根据场景选择合适工具,确保应用在高负载下的稳定运行。
144 4
|
4月前
|
监控 Java 测试技术
🔥Python性能测试大揭秘!JMeter与Locust如何让你的应用跑出新速度🚀
【8月更文挑战第4天】在软件开发中,性能测试确保应用稳定高效。JMeter与Locust是两大性能测试利器。JMeter源自Apache,基于Java,支持多协议测试,提供丰富测试场景与直观结果展示。Locust专为Python打造,采用Python脚本定义测试场景,支持分布式测试与实时监控。选择时考虑应用语言与团队技能。正确的测试策略结合合适工具,助您的应用性能更上一层楼。🚀
83 1

热门文章

最新文章