零、本文背景
一个接口的关键指标应该就是响应速度,要想提高响应速度,结果在缓存中最好;
那么怎么确定一个合理的缓存时间,以平衡性能与成本呢?
我们可以通过记录业务请求,看读取缓存的时间分布,比如 99% 的请求都是 1天内;
近期在做日志分析,找到比较理想的一个缓存过期时间,使 90% 的查询都能被缓存覆盖;
发现有些同学不太懂 TP 指标,故写文记录一下。
一、性能指标含义
常见指标:TP50、TP80、TP90、TP99、TP999
正式解释:TP=Top Percentile,Top百分数,是一个统计学术语,与平均数、中位数都是一类;
通俗理解:TP99 100ms,99%的查询都能在100ms内返回;
本质理解:它是一个分位值,看数据的一个分布;
二、性能指标计算
计算方式:拿到所有请求耗时,升序排序,取 99% 位置的数据,就是 TP99;
比如说:拿 100 次请求的耗时,升序排序,取第 99 个的数据,就是TP99的值;
具体的代码方式就是,先算出耗时,放入 List ,然后排序,按指定的下标取值即可;
代码如下: