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测试数据下载模块

     

  • 相关阅读:
    如何在Ubuntu下通过USB连接iPone/iPod
    全手动封装教程+SRS9.80102 文本教程(适合初学)
    PHP 面试踩过的坑
    视频 | 一步步教你操作websocket通知案例
    在职场,辞退你、培养你,从来不是看能力
    git撤销本地修改与回退版本
    异步发送邮件完整示例
    如何解决Redis缓存和MySQL数据一致性的问题?
    PHP 面试踩过的坑(二)
    守护进程、信号和平滑重启
  • 原文地址:https://www.cnblogs.com/baby123/p/14365837.html
Copyright © 2011-2022 走看看