性能指标-资源指标-CPU配置

一、CPU核数
CPU分配模式可以是某个分区(LPAR)独占某个/某几个CPU,也可以是某个分区和其他分区共享CPU资源池。

二、Dedicated模式
当CPU分配模式为dedicated模式时,CPU个数即为核的个数。

1.获取来源
Nmon BBBP Sheet:Number Of Processors
命令行Prtconf或lsconf:Number Of Processors

2.最佳实践
建议性能测试所用的LPAR CPU核数与生产保持一致,资源不足时可以采用1/2,1/3的比例缩减,但不应小于2核。 

三、Sharing模式
当CPU分配模式为sharing模式时,EC个数可以理解为核的个数,参见标称计算能力(Entitled Capacity, EC)。
标称计算能力(Entitled Capacity,简称EC)
EC指LPAR获得的CPU Core的标称数量,这个数量是指当LPAR需要的时候,一定能从CPU资源池中获得的CPU Core的数量;如果业务负载不需要这么多标称能力,也可以将CPU共享给其他LPAR。

1.获取来源
Nmon BBBL Sheet:Entitled Capacity
命令行lsattr -El sys0 | grep proc:ent_capacity

2.最佳实践
建议性能测试所用的LPAR的CPU EC值与生产EC值保持一致,若生产为dedicated模式,则测试环境EC与生产环境CPU核数一致。资源不足时可以采用1/2,1/3的比例缩减,但EC不应小于2。 

通过动态抢占获得的物理CPU的性能效果远不如EC保障下的CPU

四、虚拟CPU(Virtual CPU,以下简称VP)
PowerVM平台为逻辑分区(LPAR)提供的虚拟CPU,微分区中AIX操作系统(prtconf或lsconf)看到的CPU Core的个数即VP的个数。当VP明显大于EC,且当capped=1时,则会产生过多的Hypervisor层面的系统调度开销。

1.获取来源
Nmon BBBL Sheet:Virtual CPU
命令行Prtconf或lsconf:Number Of Processors

2.最佳实践
若测试环境EC与生产保持一致,则VP同样保持一致。若测试环境EC等比例缩减,VP同样等比例缩减。

若生产环境为dedicated模式,则测试环境不论EC值多少,均设置EC=VP且Capped=1,以最大程度接近生产性能表现。若VP与EC的比值越大,Hypervisor层面的系统调度开销越大,操作系统获得的CPU时间片越少,CPU利用率无法随着吞吐量的增长而增长,响应时间也会延长。

在一些不需要精确统计CPU占用率的场景且希望必要时获得更多的CPU能力,则设置VP>EC且Capped=0,表示运行时获得的物理CPU Core个数可以大于EC,但最多与VP相等。

五、逻辑CPU个数(Logical CPU)
操作系统将以逻辑CPU进行进程调度,每个逻辑CPU可以接受操作系统层的一个软件线程。操作系统以逻辑CPU的个数(VP * SMT)进行线程调度,若逻辑CPU明显多于物理CPU线程(或VP明显多于EC,且当capped=1时),则会产生过多的Hypervisor层面的系统调度开销。

对于独占CPU分区,逻辑CPU = 物理CPU * SMT。

对于共享CPU分区,逻辑CPU = VP * SMT。
逻辑CPU不需进行设置,系统依据上述公式自动得出。

1.获取来源
Nmon BBBL Sheet:Logical CPU

2.最佳实践
逻辑CPU个数是操作系统进程调度的最大并发值,当逻辑CPU较少,而系统、应用的进程过多时,调度效率较低。因此主要应用的并行进程/线程数宜小于逻辑CPU个数。

六、SMT
并发多线程 (SMT)技术允许在同一个物理处理器(即CPU Core)上同时运行多个单独的硬件指令流,即实际物理CPU线程,相当于x86平台的超线程,SMT 可以显著提高处理器和系统的总体吞吐量。对于Power7平台,每个CPU Core有4个并发多线程(SMT=4);对于Power8平台,每个CPU Core有8个并发多线程。

1.获取来源
Nmon BBBL Sheet:SMT Threads

2.最佳实践
SMT值和CPU核数(或VP数)共同决定了逻辑CPU的个数,即操作系统进程调度的最大并发值。测试过程中,不仅需关注EC、VP,并且需要关注SMT值。

上一篇:VP - Codeforces Round 722 Div.2


下一篇:U3d:关于使用videoplay过程中遇到的问题