TPS
事务处理系统:Transaction processing systems (TPS) 提高事务处理效率与保证其正确性 在数据(信息)发生处将它们记录下来 通过OLTP产生新的信息 将信息保存到...
Response Time
响应时间是一个计算机,显示器成像等多个领域的概念,在网络上,指从空载到负载发生一个步进值的变化时,传感器的响应时间。通常定义为测试量变化一个步进值后,传感器达到最终数值90%所需要的时间。网络对整体响应时间的影响是通过不同机制完成的。在图像领域的液晶显示器响应时间,是液晶显示器各像素点对输入信号反应的速度,即像素由暗转亮或由亮转暗所需要的时间(其原理是在液晶分子内施加电压,使液晶分子扭转与回复)。常说的25ms、16ms就是指的这个反应时间,反应时间越短则使用者在看动态画面时越不会有尾影拖曳的感觉。一般将反应时间分为两个部分:上升时间(Rise time)和下降时间(Fall time),而表示时以两者之和为准。
Connections per Second
(每秒连接):统计终端的连接和新建的连接数,方便了解每秒对服务器产生连接的数量。同时连接数越多,说明服务器的连接池越大,当连接数随着
负载上升而停止时,说明系统的连接池已满,通常这时候服务器会返回504错误。需要修改服务器的最大连接来解决该问题。
CPU Utilization
CPU Utilization 好理解,就是CPU的利用率,75%以上就比较高了(也有说法是80%或者更高)。除了这个指标外,还要结合Load Average和Context Switch Rate来看,有可能CPU高是因为后两个指标高导致的。
一般来说,Load Average是与机器内核数有关的。以一个单核的机器为例,load=0.5表示CPU还有一半的资源可以处理其他的线程请求,load=1表示CPU所有的资源都在处理请求,没有剩余的资源可以利用了,而load=2则表示CPU已经超负荷运作,另外还有一倍的线程正在等待处理。所以,对于单核机器来说,理想状态下,Load Average要小于1。同理,对于双核处理器来说,Load Average要小于2。结论是:多核处理器中,你的Load Average不应该高于处理器核心的总数量。
Load Average ,这个很难衡量。网上搜了一圈,还没见到几个合理的解释。我100个并发用户测试数来这两个值是:77.534%,6.108,CPU利用率比较高,Load Average也好像有点高。后来发现了如下两片博文: 理解Load Average做好压力测试 ,“Load Average是 CPU的 Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。 ”,基本解释了multi-process,multi-thread程序的原理。理解Linux处理器的负载均值(翻译) ,简单说起来就一句话:
Load Average < CPU个数 * 核数 *0.7
比如1个1核CPU,Load Average < 1 * 1 * 0.7;1个4核的CPU,Load Average必须 < 1 * 4 * 0.7 = 2.8。
查看cpu的信息:grep 'model name' /proc/cpuinfo
Context Switch Rate 。就是Process(Thread)的切换,如果切换过多,会让CPU忙于切换,也会导致影响吞吐量。《高性能服务器架构 》这篇文章的第2节就是说的是这个问题的。究竟多少算合适?google了一大圈,没有一个确切的解释。Context Switch大体上由两个部分组成:中断和进程(包括线程)切换,一次中断(Interrupt)会引起一次切换,进程(线程)的创建、激活之类的也会引起一次切换。CS的值也和TPS(Transaction Per Second)相关的,假设每次调用会引起N次CS,那么就可以得出
Context Switch Rate = Interrupt Rate + TPS* N
CSR减掉IR,就是进程/线程的切换,假如主进程收到请求交给线程处理,线程处理完毕归还给主进程,这里就是2次切换。也可以用CSR、IR、TPS的值代入公式中,得出每次事物导致的切换数。因此,要降低CSR,就必须在每个TPS引起的切换上下功夫,只有N这个值降下去,CSR就能降低,理想情况下N=0,但是无论如何如果N >= 4,则要好好检查检查。另外网上说的CSR<5000,我认为标准不该如此单一。
其他信息:
这三个指标在LoadRunner中可以监控到;另外,在linux中,也可以用vmstat