一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
(很多人经常会把并发数和TPS理解混淆)
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间
另外:
1. 吞吐量、响应时间
(1)
吞吐量:单位时间内的数据输出数量。
(2)
响应时间:从事件开始到事件结束的时间,也称执行时间。
2.
CPU时钟周期、主频、CPI、CPU执行时间
(1)
CPU时钟周期:机器主频的倒数,Tc
(2)主频:CPU工作主时钟的频率,机器主频Rc
(3)CPI:执行一条指令所需要的平均时钟周期
CPI=总时钟周期数/IC
(
程序执行过程中所使用的指令数,记为IC)
(4)CPU执行时间:
TCPU=In×CPI×Tc
In执行程序中指令的总数
CPI执行每条指令所需的平均时钟周期数
Tc时钟周期时间的长度
注意:每类指令的CPI和该程序的CPI是两个不同的概念
2.CPU性能公式
程序的执行时间称为CPU时间,即:
CPU时间=时钟周期数/时钟频率
程序执行过程中所使用的指令数,记为IC,则:
CPI=总时钟周期数/IC
程序执行的CPU时间就可以表示为:
CPU时间=CPI×IC/时钟频率=CPI×IC×时钟周期数
这个公式就是通常所称的CPU性能公式。
上面的公式是计算有百分比的指令系统的CPI
3. MIPS、MFLOPS
(1)MIPS:(百万条指令每秒)
MIPS(Million
Instructions Per Second)
MIPS = In/(Te×106)
=
In/(In×CPI×Tc×106)
=
Rc/(CPI×106)
Te:执行该程序的总时间
In:执行该程序的总指令数
Rc:时钟周期Tc的到数
MIPS只适合评价标量机,不适合评价向量机。标量机执行一条指令,得到一个运行结果。而向量机执行一条指令,可以得到多个运算结果。
(2)
MFLOPS:(百万个浮点操作每秒)
MFLOPS(Million Floating
Point Operations Per Second)
MFLOPS=Ifn/(Te×106)
Ifn:程序中浮点数的运算次数
MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的。