![](https://i-blog.csdnimg.cn/blog_migrate/cdd35fb3eba29f729d4269a150d832e2.jpeg)
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值。