我想监视API的响应时间.我可以使用平均值,中位数等方法进行监控.但我面临以下问题: 平均问题 如果其中一个请求花了很长时间.例如,在给定的集合中,由于值1000,平均值将变高. S1 = [
平均问题
如果其中一个请求花了很长时间.例如,在给定的集合中,由于值1000,平均值将变高.
S1 = [1,1,1,2,2,2,2,2,2,2,1,1000]
中位数问题
它的正确值仅高达50%.例如,在给定的集合S2 = [2,2,2,2,2,50,50,50,50]中.中值给出值2,但大多数用户面临缓慢的响应.
5-95跨度(http://steveakers.com/2013/08/01/span-vs-median-for-response-time-monitors/)的问题
在上面的文章作者建议使用值uppser95-uppser5.
但如果响应时间如下,则不会产生警报:
s3 = [50,50,50,50,50].在这种情况下,所有API响应都很慢.但跨度5-95为零.
我正在考虑使用这两个值中的任何一个.
upper95或(upper95 upper5)/ 2.
哪一个更好,为什么?有没有更好的方法来计算QOS?
您列出了三个测量值:>平均(平均)响应
>中位数回应
> 5-95跨度响应
请注意,#3与#1和#2的测量值不同!
>平均值和中位数可以衡量实际响应时间.这会引起某类问题.
> 5-95 span告诉您响应时间的变化程度.即您的回复时间是否一致.这会引起另一类问题.
您可能需要跟踪两者:绝对响应时间以及方差.前者的最佳方法(平均值与中位数,是否剪掉异常值)可能取决于您获得服务的结果.