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

locust压测实例

官网

https://docs.locust.io/en/stable/quickstart.html

安装

pip install locust

编写测试文件locustfile.py

from locust import HttpUser, task

class HelloWorldUser(HttpUser):
    @task
    def hello_world(self):
        self.client.get("/hello")
        self.client.get("/world")

启动

locust 
-P 更换端口
-H 更换host
-F XXX.py 指定文件启动

访问web UI

默认:localhost:8089

PS:记一次实测

接口压力测试

接口单个请求处理时长1.04s、gunicorn worker=4

1000 Number of users (peak concurrency)
1000 Spawn rate (users started/second)

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/2633704900850086006051103816601648163.60
Aggregated2633704900850086006051103816601648163.60

500 Number of users (peak concurrency)
500 Spawn rate (users started/second)

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/116630250039004400305010407246648162.70
Aggregated116630250039004400305010407246648162.70

取消数据库链接限制#maxconnections=10

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/35598035004200360004112104340115648168.20
Aggregated35598035004200360004112104340115648168.20

100 Number of users (peak concurrency)
100 Spawn rate (users started/second)

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/8889010271100130010521027182364896.80
Aggregated8889010271100130010521027182364896.80

取消数据库链接限制#maxconnections=10

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/12128011001100140010711028380764896.50
Aggregated12128011001100140010711028380764896.50

50 Number of users (peak concurrency)
50 Spawn rate (users started/second)

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/10909010341100110010491034153264845.70
Aggregated10909010341100110010491034153264845.70

取消数据库链接限制#maxconnections=10

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/10817010291100120010541029168864845.60
Aggregated10817010291100120010541029168864845.60

20 Number of users (peak concurrency)
20 Spawn rate (users started/second)

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/20100102811001100104810281268648190
Aggregated20100102811001100104810281268648190

取消数据库链接限制#maxconnections=10

TypeName# Requests# FailsMedian (ms)90%ile (ms)99%ile (ms)Average (ms)Min (ms)Max (ms)Average size (bytes)Current RPSCurrent Failures/s
GET/3808010271100110010471027141064818.40
Aggregated3808010271100110010471027141064818.40

结论:数据库连接池限制maxconnections参数要加,具体多少合适未知,可以根据CPU数量定
数据库连接池可参考另一篇文章。

相关文章:

  • 8.6 轻量化网络设计概述
  • 【C#】萌狼学习C#那年写的笔记汇总
  • 20个js工具函数助力高效开发
  • 软件领域中面向对象的设计模式
  • 01用户登录,登出,token等框架说明
  • 几位阿里发布这份内部MySQL性能优化法则笔记
  • java-php-python-ssm巢院小区疫情管控系统计算机毕业设计
  • Linux基础 - 系统安全(SELinux与Firewalld)
  • 学完这份“顶级”SpringCloudAlibaba笔记,微服务竟如此简单
  • Spring注解驱动开发及源码解析
  • 2.1RDB、AOF及混合持久化详解Redis持久化
  • matlab基于PID反馈的主动隔振效果仿真分析
  • 力扣记录:Hot100(8)——253-322
  • 模板 cdq分治解三维偏序
  • C++/Qt音视频通话开发MetaRTC源码解读,coturn穿透stun的使用
  • 深入了解以太坊
  • 【Leetcode】104. 二叉树的最大深度
  • Angular 响应式表单 基础例子
  • jQuery(一)
  • Linux CTF 逆向入门
  • magento 货币换算
  • mysql外键的使用
  • quasar-framework cnodejs社区
  • React Native移动开发实战-3-实现页面间的数据传递
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spring声明式事务管理之一:五大属性分析
  • 前端自动化解决方案
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 事件委托的小应用
  • 赢得Docker挑战最佳实践
  • 鱼骨图 - 如何绘制?
  • 怎么将电脑中的声音录制成WAV格式
  • Python 之网络式编程
  • 移动端高清、多屏适配方案
  • ![CDATA[ ]] 是什么东东
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (7)STL算法之交换赋值
  • (javascript)再说document.body.scrollTop的使用问题
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (十六)一篇文章学会Java的常用API
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四) Graphivz 颜色选择
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .form文件_一篇文章学会文件上传
  • .net core 6 redis操作类
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 受管制代码
  • .NET中winform传递参数至Url并获得返回值或文件
  • @Bean有哪些属性