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

解读性能指标TP50、TP90、TP99、TP999

TP指标说明

TP指标: 指在一个时间段内,统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序, 并取出结果为:总次数*指标数=对应TP指标的值,再取出排序好的时间。

TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数、中位数都是一类。

TP50、TP90、TP99和TP999等指标常用于系统性能监控场景,指高于50%、90%、99%等百分线的情况

计算/统计方法

TP50:指在一个时间段内(如5分钟),统计该方法每次调用所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50的值;配置此监控指标对应的报警阀值后,需要保证在这个时间段内该方法所有调用的消耗时间至少有50%的值要小于此阀值,否则系统将会报警。

TP90,TP99,TP999与TP50值计算方式一致,它们分别代表着对方法的不同性能要求,TP50相对较低,TP90则比较高,TP99,TP999则对方法性能要求很高

 

举例说明

计算步骤

I)       有一个方法testTP(),6次请求的响应时间:13ms、38ms、23ms、45ms、17ms、56ms,升序排序后为[13ms、17ms、23ms、38ms、45ms、56ms]

 

II)     TP50:6*50%=3,

TP90:6*90%=5.4~6,

TP99:6*99%=5.94~6,

TP999:6*99.9%=5.994~6,

 

III)    根据百分数的定义可知

TP50=23ms,取排序为3的值,

TP90=56ms,取排序为6的值,

TP99=56ms,取排序为6的值,

TP999=56ms,取排序为6的值

TPS 、TPS峰值、并发量、响应时间解读

TPS:每秒处理的消息数(Transaction Per Second),指系统在单位时间内处理请求的数量。

例如:查询jimdb缓存,预期每分钟10万调用量,则TPS=100000/60=1666.67(笔/秒)。

相关术语:吞吐量、QPS每秒查询率(Query Per Second) 、TPM每分钟事物处理数(Transaction Per Minute)。

TPS峰值:符合帕累托法则,即80%的调用量发生在20%的时间内。

例如:查询jimdb缓存,预期每分钟10万调用量,则(理解有一定难度)TPS峰值=100000*80%/(60*20%)=6666.67(笔/秒)=4TPS(平均)。这是评估手段,实际目前是按照监控得来的。

注:TPS峰值=100000/60 * 80%(调用量) / 20%(时间内)

并发量:系统可以同时承载的正常使用系统功能的用户的数量。

例如:某一个地铁站进站有10个闸机,可以允许10个人同时进站,那么并发量即为10。

响应时间:系统对请求作出响应的时间。是指执行一个请求从开始到最后收到响应数据所花费的总体时间。

例如:向服务器A发送请求时间为T1,服务器A处理请求时间(思考时间)为T2,服务器A返回信息的时间为T3,响应时间T=T1+T2+T3。

 

http://www.lryc.cn/news/170067.html

相关文章:

  • 【无标题】mysql 截取两个,之间字符串
  • 全局的键盘监听事件
  • Qt自定义QSlider(支持水平垂直)
  • 会话控制学习
  • dweb-browser阅读
  • ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段
  • 2、ARM处理器概论
  • 【Python】福利彩票复式模拟选号程序
  • Pytorch 机器学习专业基础知识+神经网络搭建相关知识
  • torch 和paddle 的GPU版本可以放在同一个conda环境下吗
  • MYBATIS-PLUS入门使用、踩坑记录
  • C# 静态类和sealed类(密封类)的区别
  • el-table如何实现自动缩放,提示隐藏内容
  • CRM客户管理软件对出海企业的帮助与好处
  • 【QT--使用百度地图API显示地图并绘制路线】
  • C数据结构二.练习题
  • 猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》
  • (1)数据库 MSQ 数据库 安装 使用 以及增删改查
  • 什么测试自动化测试?
  • 【踩坑篇】代码中使用 Long 作为 Map的Key存在的问题
  • 微服务保护-授权规则/规则持久化
  • 练习敲代码速度
  • uni-app:实现条件判断展示图片(函数判定+三目运算)
  • http概念
  • Postman应用——Variable变量使用(Global、Environment和Collection)
  • php高级 TP+Redis实现发布订阅和消息推送案例实战
  • Python 基础入门
  • 【跟小嘉学 Rust 编程】二十九、Rust 中的零拷贝序列化解决方案(rkyv)
  • 路由器端口转发
  • Redis模块一:缓存简介