一 TP50、TP90、TP99 的概念

1.1 什么是 TP

TP 是 Top Percentile 的缩写,中文译作百分位

1.2 什么是百分位

百分位是一个统计学的术语。

如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组N个观测值按数值大小排列。如,处于P%位置的值称第P百分位数。

1.3 TP50、TP90、TP99 怎么理解

TP50、TP90、TP99 是工程性能指标,以网络请求耗时为例:

  • TP50:表示满足百分之五十的网络请求所需的最低耗时。
  • TP90:表示满足百分之九十的网络请求所需的最低耗时。
  • TP99:表示满足百分之九十九的网络请求所需的最低耗时。

二 TP50、TP90、TP99 的计算

2.1 简单举例

举个例子:有四次请求耗时分别为:

10ms,1000ms,100ms,2ms

那么我们可以这样计算TP99:4次请求中,99%的请求数为4*0.99,进位取整也就是4次,满足这全部4次请求的的最低耗时为1000ms,也就是TP99的答案是1000ms。

2.2 python 实现

运用 numpy 包的 percentile 方法实现 TP50、TP90、TP99 的计算。

import numpy as npdata = []
with open('文件路径', 'r') as f:for line in f.readlines():data.append(float(line.strip()))print(np.percentile(data, 95))

文件路径:是绝对路径,如 /User/local/a.txt,其中 a.txt 是网络请求耗时数组。

可以将代码中的95修改成50、90、99,来实现 TP50、TP90、TP99 的计算。

TP50、TP90、TP99的理解和使用相关推荐

  1. TP50 TP90 TP95 TP99 TP999 TP9999

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

  2. 分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?

    分布式面试 - 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试题 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试官心理分析 服务治理,这个问题如 ...

  3. tp90和tp99是指什么性能指标

    原文: https://www.zhihu.com/question/41110088 https://www.google.com.hk/#safe=strict&q=tp50+tp90 T ...

  4. 简易版Dubbo方法级性能监控(实现TP90、TP99)

    一.具体要求 在真实业务场景中,经常需要对各个业务接口的响应性能进行监控(常用指标为:TP90.TP99) 通过扩展Dubbo的Filter(TPMonitorFilter),完成简易版本 Dubbo ...

  5. Elasticsearch入门进阶篇

    文章目录 一:Elasticsearch前言 1.1:什么是搜索? 1.2:如果用数据库做搜索会怎么样? 1.3:什么是全文搜索和Lucene? 1.3.1:全文检索 1.3.2:Lucene 1.4 ...

  6. java -jar 未响应_Java 方法性能监控和统计工具 MyPerf4J

    一个针对高并发.低延迟应用设计的高性能 Java 性能监控和统计工具. 特性 高性能: 单线程支持每秒 1000 万次 响应时间的记录,每次记录只花费 73 纳秒 无侵入: 采用 JavaAgent ...

  7. java 无侵入监控_MyPerf4J 一个高性能、无侵入的Java性能监控和统计工具

    MyPerf4J 一个针对高并发.低延迟应用设计的高性能且无侵入的实时Java性能监控和统计工具. 受 perf4j 和 TProfiler启发而来. MyPerf4J具有以下几个特性: 无侵入: 采 ...

  8. mysql中间件面试题_面试题集锦-中间件 - 春哥大魔王的博客的个人空间 - OSCHINA - 中文开源技术交流社区...

    Mysql引擎区别,聚簇索引是数据,非聚簇索引是引用,普通索引和主键索引两棵树,普通索引到主键索引有个回表,建立覆盖索引减少回表,利用前缀索引,注意索引顺序,隔离级别默认rr,事务依赖于mvcc,B+ ...

  9. 想设计亿万级高并发架构,你要先知道高并发是什么?

    当前,数字化在给企业带来业务创新,推动企业高速发展的同时,也给企业的IT软件系统带来了严峻的挑战.面对流量高峰,不同的企业是如何通过技术手段解决高并发难题的呢? 0.引言 软件系统有三个追求:高性能. ...

最新文章

  1. 《每周CV论文》人脸识别难题:遮挡年龄姿态妆造亲属伪造攻击
  2. 纽约大学Gary Marcus发文指出AlphaZero「被夸大」,强调重视人工智能「先天因素」
  3. 5_计算显卡对比(20190103- )
  4. 201506251117_《react——所需知识、主要技术》
  5. GCPC2014 C Bounty Hunter
  6. 强烈的公帑意识让香港人盯紧官员的公款支出
  7. 知到网课教师口语艺术考试题库(含答案)
  8. 成都哪所专科院校有计算机专业,成都哪些高职院校有计算机应用技术
  9. SqlServer——Excel连接数据库相关知识
  10. Cocos Creator 使用摇杆控制角色移动
  11. 使用pandas读取xlsx
  12. 餐巾计划(网络流24题之二(模板2))
  13. 彻底理解js的作用域链
  14. 优秀网页翻译:高精度 10MHz GPS 驯服钟 (GPSDO) - Part 5
  15. win10 tensorrtx yolov5使用方法
  16. 荣耀猎人是鸿蒙,荣耀猎人游戏本发布 | 荣耀推出全场景游戏品牌 “Hunter”
  17. 用SQL语句修改表结构和添加约束
  18. (第二章)OpGL超级宝典学习:创建我们第一个OpenGL程序,绘制一个点和三角形
  19. 手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图)
  20. 无胁科技-TVD每日漏洞情报-2022-12-15

热门文章

  1. 不是所有的战略规划都可以用BLM
  2. java练习:图书销售管理系统(三),出版社管理
  3. python excel怎么将字母后的数字取出来_Excel提取数字、字母、汉字,靠Python一个公式搞定...
  4. 超市会员积分管理系统
  5. 大数据小项目之电视收视率企业项目10
  6. linux dup作用,unix/linux中的dup()系统调用
  7. (初学者)关于C语言中退格键(\b)的初步了解
  8. 小程序1rpx,边框不完整或线条太粗
  9. linux开机启动界面异常,Linux 界面不能启动的解决
  10. 微信 oauth2.0 php,微信公众平台OAuth2.0 认证