前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Locust性能测试01 -环境搭建及使用

Locust性能测试01 -环境搭建及使用

作者头像
wencheng
发布2021-04-20 15:25:09
5940
发布2021-04-20 15:25:09
举报
文章被收录于专栏:python 自动化测试
1.什么是Locust?

Locust是一个易于使用,可编写脚本且可扩展的性能测试工具。您可以使用常规Python代码定义用户的行为,这使Locust可以无限扩展,并且对开发人员非常友好。

2.特征
  • 分布式和可扩展-支持数十万用户

Locust使运行分布在多台计算机上的负载测试变得容易。它是基于事件的(使用gevent),这使得单个进程可以处理成千上万的并发用户。尽管可能还有其他工具可以在给定的硬件上每秒执行更多请求,但是每个Locust用户的低开销使其非常适合测试高并发工作负载。

  • 基于Web的UI

Locust具有用户友好的Web界面,可实时显示测试进度。您甚至可以在测试运行时更改负载。它也可以在没有UI的情况下运行,从而使其易于用于CI / CD测试。

  • 可以测试任何系统

即使Locust主要与网站/服务一起使用,它也可以用于测试几乎所有系统或协议。只需 为您要测试的内容编写一个客户端,或者浏览社区创建的一些客户端。

3.环境安装

官方文档

https://docs.locust.io/en/1.4.4/what-is-locust.html

安装Python 3.6或更高版本。

代码语言:javascript
复制
使用pip安装
Locust。pip install locust
代码语言:javascript
复制
验证安装并显示locust版本号 
pip show locust

(venv) E:\workspace\LocustConcurrent>pip show locust
Name: locust
Version: 1.4.4
Summary: Developer friendly load testing framework
Home-page: https://locust.io/
4.快速开始

在Locust中,您可以使用Python代码定义用户行为。然后,您可以使用该locust命令和(可选)其Web界面在收集请求统计信息时生成并模拟大量这些用户。

locust_cnblogs.py
代码语言:javascript
复制

''''
Create by dell on 2021/4/13
Author :wencheng
describe :
'''
from locust import HttpUser, task, between
class QuickstartUser(HttpUser):
    wait_time = between(1, 2.5)

    @task
    def bky_deom(self):
        self.client.get("/")

    @task(3)
    def bky_demo2(self):
        self.client.get("/wen-cheng")
        
if __name__ == '__main__':
    import os

    os.system('locust -f locust_cnblogs.py -H https://www.cnblogs.com')
5.启动运行locust

打开locust的web界面,浏览器访问:http://127.0.0.1:8089

设置虚拟用户数20,每秒启动5个用户,点击Start swarming 开始运行

locust的web界面分析:

  • Number of users to simulate是模拟用户的数量
  • Hatch rate (users spawned/second表示产生模拟用户的速度
  • Start swarming开始测试
6.分析测试结果
  • Type:请求类型;
  • Name:请求路径;
  • Requests:当前请求的数量;
  • Fails:当前请求失败的数量;
  • Median:中间值,单位毫秒,一般服务器响应时间低于该值,而另一半高于该值;
  • Average:所有请求的平均响应时间,毫秒;
  • Min:请求的最小的服务器响应时间,毫秒;
  • Max:请求的最大服务器响应时间,毫秒;
  • Content Size:单个请求的大小,单位字节;
  • Reqs/sec:每秒钟请求的个数。

界面图表展示

代码语言:javascript
复制
吞吐量/每秒响应事务数(rps)实时统计
平均响应时间/平均事务数实时统计
虚拟用户数运行

导出数据

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试 To share 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.什么是Locust?
  • 2.特征
  • 3.环境安装
  • 4.快速开始
    • locust_cnblogs.py
    • 5.启动运行locust
    • 6.分析测试结果
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档