来卷一卷Java中的一枚性能测试工具!

MH屏蔽了一些环境的差异,可以让狗子们快速的获取吞吐量、平均响应时间等关键性指标。但是,性能的评测标准并不仅仅是单个维度。
比起那些了不起的性能,服务响应的稳定性,可能是另外一个比较重要的话题。

百分位

有时候,我们某些重要的服务,对每个请求的延迟忍受度都很低。如果我们用比较专业的词来描述的话,那就是:我们无法忍受任何长尾请求,即使平均响应时间非常的短。
这就需要一种指标来测量这种情况。为了解决这个问题,一个比较常用的指标,就是百分位数(Percentile)。
如果非要找出一种形状的话,那它就是请求分布的直方图。
百分位可以这么理解。如果我们圈定一个时间范围,把每次请求的耗时加入到一个列表中,然后,按照从小到大的顺序将这些时间进行排序。这样,我们取出某个位置请求的耗时,这个数字 就是TP值。可以看到,TP值(Top Percentile)和中位数、平均数等是类似的,都是一个统计学里的术语。
它的意义是,超过N%的请求,都在X时间内返回。比如TP90=50ms,意思就是超过90th的请求,都在50ms内返回。
这个指标能够反映出应用接口的整体响应情况。比如,某段时间发生了长时间的GC,就会影响高百分位的请求耗时增加。
我们一般分为Tp50、TP90、TP95、TP99、TP99.9等多个段,对高百分位的值要求越高,对系统响应能力的稳定性要求越高。
对于普通的百分位分布,像Dropwizard、MicroMeter、OpenTelemetry等组件,也会累积一些直方图到监控指标里,如果你使用SpringBoot等组件,你会发现这些值存在于le中。

http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.001",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.001048576",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.001398101",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.001747626",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.002097151",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.002446676",} 0.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="0.002796201",} 0.0

// 54 other lines here

http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="12.884901886",} 3.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/foo",le="14.316557651",} 3.0
http_server_requests_seconds_bucket{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值