pps服务器未响应_服务响应时间与分布
分析服务响应时间分布,如:均值、中位值、P95值、P99值等如何计算
背景
最近看得多,写得少,所谓
学而不思则罔,思而不学则殆
还是得记录笔记,以加强理解。
有篇博客提到服务响应时间各种值之优劣,特记录之。
平均值
我们考察一个服务器的性能,除了QPS数据外,还会考察响应时间,当服务器负载增高时,往往会伴随着响应时间的增长,但是这个值该如何度量,以精准的表现服务器当前之负载呢?
最常用的值为平均值,表示服务的平均响应时间,通过该值我们能够知道服务当前响应的所有请求耗时的平均值。 例如平均耗时为100ms,表示服务器当前请求的总耗时/请求总数量
,通过该值,我们大体能知道服务运行情况。 但是对于具体有多少个请求的耗时比100ms要大,大多少,是200ms,还是500ms,还是1000ms,我们无从得知。 而且,平均值这个数据容易掩盖一些异常值问题,比如,我的财富加马云财富的平均值也能过亿,所以,平均值这个数据项过于简单,提供的信息量太少。
那为什么我们通常采用平均值来衡量或者监控服务性能呢?
主要是由于该值容易计算,采用两个变量S
、N
,即可持续计算平均值:
S = S + X
N = N + 1
V = S/N
通过该公式,当有新的耗时值X
需要考量,很方便的就能算出平均值,就算QPS到几十万/s,也不在话下。
注意,该公式有个隐含问题,即是S
增长过快问题,如果QPS过高,X
值过大,很容易导致S
溢出,从而导致结果计算异常。
可将该公式做如下改造:
Vs = S/N
Vn = (S+X)/(N+1) = (Vs*N+X)/(N+1) = Vs + (X - Vs)/(N+1)
该算法也只需要两个变量,未考量数据X
时——平均值Vs
、数据个数N 但是,该算法由于不累加S
,而只累加N
,而N
的增长极慢,不易导致溢出问题。
中位值
如上所述,由于平均值不能反映数据分布及极端异常值的问题,可以考虑采用中位值来作为度量。
中位值如何计算?
我们假设某服务在1s内响应了100个请求,耗时为X1、X2 ... X100,可以对这100个数按照从小到大的顺序进行排序,在排序后的列表的中间位置的值——即为中位值,假设为150ms。
那这个值,150ms,表示什么意思呢? 它表示,服务器响应的这100个请求里面有50个的请求耗时小于150ms,另有50个请求的耗时大于150ms。
如果,我们有一个服务qps为3万/s,经过计算响应耗时中位值为100ms,那么我们可以推断有1.5万个请求的耗时小于100ms,也就是说我们有一半的用户的响应耗时小于100ms,据此我们就可以评估服务响应性能是否可以满足业务要求。
但是,这个中位值还有另外一个问题,我们只知道还有一半的请求耗时大于100ms,具体是大多少,大200ms,还是500ms,我们无法得知。
P95值与P99值
由于中位值只能反映中位数的问题,不能反馈更多信息,例如,我想知道该服务80%的请求耗时在多少ms以内,这些问题需要额外的数据指标。
P95——响应耗时从小到大排列,顺序处于95%位置的值即为P95值。
还是采用上面那个例子,100个请求按照响应时间从小到大排列,位置为95的值,即为P95值。 我们假设该值为180ms,那这个值又表示什么意思呢?
意思是说,我们对95%的用户的响应耗时在180ms之内,只有5%的用户的响应耗时大于180ms,据此,我们掌握了更精确的服务响应耗时信息。
P99.9值
亚马逊经常采用P99.9值,也就是99.9%用户耗时作为指标,也就是1000个用户里面,999个用户的耗时上限,如果测量与优化该值,即可保证绝大多数用户的使用体验。 至于P99.99值,优化成本过高,而且服务响应由于网络波动、系统抖动等不能解决之情况,故暂不考虑该指标。
如何计算P分位值
如上说过平均值的计算方式,而P值需要将响应耗时从小到大排序,然后取得对应百分位之值。
如果服务qps较低,例如:100/秒,记录这100个耗时数据,然后排序,然后取得P分位值,倒不是难事。 而如果qps较高,例如:30万/秒,如果还是采用记录+排序
的方式,可以预见需要消耗大量内存与计算资源。
有没有简单的计算方式呢?
可以采用直方图来进行计算,该计算方式虽不是完全准确值,但精度非常高,误差较小。
直方图需要界定两个直方之间的跨度,一般采用等分形式,例如对于耗时统计需求,我们可以假定一个耗时上界,然后等分,比如划分成100个区间,对于每个响应耗时落入对应的直方,如下图:
这样就避免了对全部数据进行排序,只需要根据各个直方中的数据数量,即可计算出95%位置位于哪个直方,然后在该直方内部采用插值方法,计算出P95值。
另外,考虑到数据分布特点,服务耗时异常数据应该只是少数,但是异常值跨度可能很大,大部分耗时数据均靠近正常值,如果直方统计采用等分形式,会导致大量数据堆积在一个直方中,如何解决这个问题?
可以采用非等分的跨度划分方式,例如采用指数形式划分,耗时越低的区间,跨度越小,精度约高。
pps服务器未响应_服务响应时间与分布相关推荐
- pps服务器未响应_pps服务器未响应停止播放怎么解决
在前面小编给大家讲解了一些关于PPS的内容,但是也有网友遇到了新的问题,今天就有网友问到小编,说在利用PPS看电影的时候,PPS服务器未响应停止播放了,问小编怎么解决.下面我们就来看看PPS服务器未响 ...
- pps服务器没有响应,为什么pps服务器未响应,停止播放我家用的是Avira AntiVir 控制中心...
2010-07-28 回答 1.首先在任务管理器里把 ppstream.exe ppsap.exe 进程结束掉 然后点开始菜单在运行里输入: %APPDATA%\ppStream\skin 找到 ...
- 手机503服务器未响应,503服务暂时不可用问题解决方法
503是一种HTTP状态码,是服务器出错的一种返回状态,由于临时的服务器维护或者过载,服务器当前无法处理请求.这个状况是临时的,并且将在一段时间以后恢复.那么我们遇到503服务暂时不可用应该怎么办呢? ...
- pps服务器未响应_PPS影音黄金VIP会员后看节目出现”服务器未响应,停止播放”怎么办...
由于大多数用户的网络环境都不相同,所以出现的问题虽然提示一样,但造成问题的结果都有出入.有些是因为网络.有些是因为防火墙与杀毒软件的设置失误 造成.有些用户今天看着正常,第2天就不能观看,说明有些安全 ...
- 笔记本音频服务器未响应,音频服务未响应未修复怎么办
191路由网导读:原标题:"音频服务未运行怎么办,详细教您音频服务未运行怎么办"最新电脑问题教程分享. - 来源:191路由网 - 编辑:爱装机. 我们在处理电脑问题的时候,经常会 ...
- win10音频服务器未响应,win10 音频服务未响应的解决方法
最近在调试usb audio设备,由于使用的是自己的audio 设备,所以要频繁的更换采样率,可是 在win10中经常出现一些莫名其妙的问题,今天这个问题就是折腾了我好久才搞定的. 当把usb aud ...
- 云服务器网无响应,服务器之家教你dns服务器未响应导致无法上网怎么办
最近服务器之家在逛网页的时候看到有不少的网友在讨论dns未响应的解决方法,然后服务器之家就给网友们进行解答了这个问题,俗话说"独乐乐不如众乐乐",所以,今天服务器之家我就决定也来和 ...
- 饥荒联机版 服务器未响应,饥荒联机版常见问题汇_饥荒联机版常见问题大全_快吧单机游戏...
饥荒联机版常见问题大全,饥荒游戏自从开放联机之后,各位玩家也相继遇到了很多各式各样的问题,而今天笔者要给大家介绍的就是饥荒联机版常见问题大全.希望能给大家带来一些帮助. 3.找不到没有房间:右边的页面 ...
- 电脑连接到网络显示未连接到服务器未响应,电脑dns服务器未响应怎么办?
原标题:电脑dns服务器未响应怎么办? 电脑使用时间长了,就容易出现各种问题,很难完全去避免.比如在连接网络的时候,出现了无法连接的情况.经过检测,发现是是DNS 服务器未响应导致的.那么,这种情况应 ...
最新文章
- [BUUCTF-pwn]——picoctf_2018_shellcode
- python 进程池阻塞和非阻塞_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...
- 4.3 Siamese 网络
- Android绘制基础及手写绘制实例
- JS 逻辑中断(一)
- Spark:一个独立应用
- 永磁同步电机的原理介绍
- Ubuntu临时修改ip地址
- ionic -- 实现根据拼音字母搜索人员
- android 打开word pdf,android word 打开pdf文件 word打开pdf文件
- (第二版)零基础入门Python小甲鱼-笔记-第一章-p2
- 如何手动启动消防广播_消防应急广播的设置要求是怎样的?
- python对excel操作简书_python Excel 写
- CentOS 官网镜像最新下载地址
- Unity Google VR Cardboard 后台挂起时陀螺仪仍然占用问题解决
- Codis的安装与使用
- Hadoop的三大核心组件
- 大众集团成功研发:可移动的电动汽车充电器,网友:太方便了
- 【作品展】-- 2011年第十一届挑战杯作品“基于位置的手机即时通信系统的研究与实现”展板设计...
- Matlab 透视变换 原理及其代码实现