当前位置: 首页 > article >正文

Locust 压力测试helloworld

1. 什么是Locust

Locust 是一种易于使用、可直接使用pyhton编写脚本运行且可扩展的性能测试工具。

2. 安装Locust

Python 3.9.16
pip install locust==2.15.1

3. 一个简单的示例

3.1.  编写下面代码,文件命名为locustfile_test.py

from locust import HttpUser, TaskSet, task
import urllib3

urllib3.disable_warnings()

class UserBehavior(TaskSet):

    def on_start(self):
        print("start****")

    def on_stop(self):
        print("stop****")

    @task(1)
    def baidu_page1(self):
        res = self.client.get("/", verify=False)

class WebsiteUser(HttpUser):
    tasks = [UserBehavior]
    host = "https://www.baidu.com"
    min_wait = 1000
    max_wait = 2000

3.2. 通过下面命令执行上面代码

locust -f locustfile_test.py

3.3. 通过 http://localhost:8089/ 访问,Number of total users to simulate设置模拟的用户数,Spawn rate (users spawned/second)每秒启动的虚拟用户数

3.4.【Start swarming】后结果:

    性能参数:

Type:请求类型,如Get/Post
Name:请求路径
Requests:当前请求数量
Failes:请求失败数量
Median:中间值毫秒,一半的服务器响应低于该值,还有一半高于该值
 90%:90%的请求响应时间
Average:平均值,单位毫秒,所有请求平均响应时间
 Min:请求的服务器最小响应时间
 Max:请求的服务器最大响应时间
Average size:单个请求大小,字节
RPS:每秒能处理的请求数目

4. locust与jmeter的区别

工具区别
jmeter需要在UI界面上通过选择组件来“编写”脚本,模拟的负载是线程绑定的,意味着模拟的每个用户,都需要一个单独的线程。单台负载机可模拟的负载数有限
locust通过编写简单易读的代码完成测试脚本,基于事件,同样配置下,单台负载机可模拟的负载数远超jmeter

PS:但locust的局限性在于,目前其本身对测试过程的监控和测试结果展示,不如jmeter全面和详细,需要进行二次开发才能满足需求越来越复杂的性能测试需要。

参考资料

Locust - A modern load testing framework


http://www.kler.cn/a/13432.html

相关文章:

  • 从promise到await
  • Vue表单基本操作-收集表单数据
  • python json数据写入excel
  • 代码随想录Day58
  • 公司构成-英文
  • JavaWeb——UDP的报文结构和注意事项
  • Docker网络模式与cgroups资源控制
  • [pgrx开发postgresql数据库扩展]2.安装与开发环境的搭建
  • AutoGPT是什么?超简单安装使用教程
  • Windows使用ngrok实现本地程序外网域名访问-详细教程
  • 《Linux基础》09. Shell 编程
  • 通过logstash实现mysql与es的双向数据同步
  • Redis 持久化八股文
  • 深入剖析 Qt QHash :原理、应用与技巧
  • Sentence Bert 阅读笔记
  • 3自由度并联绘图机器人实现写字功能(一)
  • Socks5代理与HTTP代理:基本概念、工作原理和在网络应用中的应用
  • 基于 Windows 安装 ESP32 Arduino 软件开发环境
  • 适合小白学习预处理与程序环境,这篇文章就够了
  • 2 路 500MSPS/1GSPS/1.25GSPS 14 位直流耦合 AD 采集 FMC 子卡模块