zoukankan      html  css  js  c++  java
  • Locust的使用一

    Locust 是一个开源负载测试工具,使用 Python 代码定义用户行为

    安装

    pip install locust

    查看是否安装成功

    locust -V

    测试locustfile.py

    import time
    from locust import HttpUser, task, between
    
    class QuickstartUser(HttpUser):
        wait_time = between(1, 2.5)
    
        @task
        def hello_world(self):
            self.client.get("/hello")
            self.client.get("/world")
    
        def on_start(self):
            self.client.post("/login", json={"username":"foo", "password":"bar"})

    说明:

      为模拟的用户定义一个类。它继承自HttpUser,为每个用户提供了一个 client 属性,该属性是HttpSession的一个实例。可用于向负载测试的目标系统发出 HTTP 请求

      为它每个虚拟用户创建一个此类的实例,并且每个虚拟用户会在自己的 gevent 线程中运行这些实例

      on_start() 方法是在虚拟用户启动(启动事件)时会触发的方法

      只有通过 @task 装饰的方法才会在 Locust 虚拟用户运行过程中被调用

    启动

    locust -f locustfile.py  --web-host="127.0.0.1"

    启动 Locust 后,会在本地开启一个服务

    浏览器打开web监控页面 ,http://127.0.0.1:8089/

     

    说明:

    Number of users to simulate:模拟的总虚拟用户数

    Hatch rate (users spawned/second):每秒启动的虚拟用户数

    HOST:测试的地址

    输入参数点击Start swarming,开始运行性能测试

    Statistics聚合报告

     说明

    Type:请求类型
    Name:请求名称
    requests:当前已完成的请求数量
    fails:当前失败的数量
    Median:响应时间的中间值,单位为毫秒
    90%ile:根据正态分布,90%的响应时间在正态分布平均值下方
    Average:平均响应时间,单位为毫秒
    Min:最小响应时间,单位为毫秒
    Max:最大响应时间,单位为毫秒
    average Size:平均每个请求的数据量,单位为字节
    current RPS(requests per second):每秒钟处理请求的数量,即RPS

    Charts曲线展示

    Failures失败请求的展示

    Exceptions异常请求的展示

    Download Data测试数据下载模块

     

  • 相关阅读:
    【题解】SCOI2007组队
    【题解】Atcoder AGC#16 E-Poor Turkeys
    整数拆分 [dp+多项式插值]
    王子 [费用流]
    [ARC083F] Collecting Balls [建二分图+环套树定向+建拓扑图+树的拓扑序计数]
    [BZOJ3196] 二逼平衡树 [权值线段树套位置平衡树]
    [TJOI2017][bzoj4889] 不勤劳的图书管理员 [线段树套线段树]
    [HNOI2015][bzoj4009] 接水果 [整体二分+扫描线]
    [bzoj3065] 带插入区间第k小值 [重量平衡树套线段树]
    [luogu3676] 小清新数据结构题 [树链剖分+线段树]
  • 原文地址:https://www.cnblogs.com/baby123/p/14365837.html
Copyright © 2011-2022 走看看