如何评估服务器状况
一、带宽计算
PC=PV/T*C*t*f
其中,PC是并发数,T是观测时间,即产生PV的时间长度,比如一天中的14个小时产生了20万并发,则公式中T=14*60*60秒,PV=20万。C是单个页面请求的HTTP连接数,t是连接的持续时间,一般取一个估计用户等待连接的时长,比如用户在平均等待5秒发现网页还没打开就不耐烦了,那么这个t可以取5秒。
f表示极端情况下PV相对于平均PV的倍数。
BW=PS*PC*8bit/byte*r/t
其中BW为带宽大小,PS为页面平均大小,PC为并发数,8bit/byte是单位转换,1byte=8bit,r是因数,代表极端情况,作用跟并发估计中的f因数差不多。t指用户能忍受的平均最大等待时间,比如20秒之内网页没有完全打开,用户就会离开,则t取20秒。同样,这个公式估计的也是单个服务器的带宽需求,或者是网站的总带宽需求。
二、理想CPU负载
CPU负载小于等于0.7算是一种理想状态。
不管某个CPU的性能有多好,1秒钟能处理多少任务,我们可以认为它无关紧要,虽然事实并非如此。在评估CPU负载时,我们只以5秒钟为单位为统计任务队列长度。如果每隔5秒钟统计的时候,发现任务队列长度都是1,那么CPU负载就为1。假如我们只有一个单核的CPU,负载一直为1,意味着没有任务在排队,还不错。
上面提到的我那台服务器,是双核又CPU,等于是有4个内核,每个内核的负载为1的话,总负载为4。这就是说,如果我那台服务器的CPU负载长期保持在4左右,还可以接受。但实际上CPU负载已经达到9以上了,所以就很麻烦了。
但是每个内核的负载为1,并不能算是一种理想状态!这意味着我们的CPU一直很忙,不得清闲。网上有说理想的状态是每个内核的负载为0.7左右,我比较赞同,0.7乘以内核数,得出服务器理想的CPU负载,比如我这台服务器,负载在3.0以下就可以。