资源指标CPU配置参数对性能指标的影响
当谈到系统性能测试和性能问题分析时,涉及到性能指标、测试策略、辅助工具、数据处理、监控方法、分析思路等各个方面。 系统性能指标可分为资源指标、服务指标和业务指标三类。
我们先从性能指标的资源指标中的CPU开始。 CPU指标包括:
– 配置指标
– 利用类别的指标
– 亲和力等级指标
本文介绍了系统环境中CPU的一些配置参数及其对系统性能的影响。
CPU核心模式
当CPU分配模式为mode时,CPU数量为核心数。
1.获取源码
Nmon BBBP 表: 的
命令行或: 的
2. 最佳实践
建议用于性能测试的LPAR CPU 核心数与生产中使用的LPAR CPU 核心数相同。 当资源不足时,LPAR CPU核数可以减少1/2或1/3,但不能少于2核。
模型
当CPU分配模式为mode时,EC的数量可以理解为核心数,参见标称计算能力( ,EC)。
标称计算能力(简称EC)
EC 是指LPAR 获得的CPU Core 的标称数量。 这个数字是指当LPAR需要时,可以从CPU资源池中获取的CPU Core的数量; CPU 与其他 LPAR 共享。
1.获取源码
Nmon BBBL 表:
命令行 – El sys0 | grep 过程:
2. 最佳实践
建议用于性能测试的LPAR的CPU EC值与生产EC值保持一致。 如果采用生产模式,则测试环境的EC与生产环境的CPU核数一致。 当资源不足时,可减少1/2和1/3的比例,但EC不应小于2。
通过动态抢占获得的物理CPU的性能效果远不如EC保证的CPU。
虚拟CPU(CPU,以下简称VP)
平台为逻辑分区(LPAR)提供的虚拟CPU,AIX操作系统(或)在微分区中看到的CPU Core的数量就是VP的数量。 当VP明显大于EC且=1时,会产生过多的系统调度开销。
1.获取源码
Nmon BBBL 表:CPU
命令行或: 的
2. 最佳实践
如果测试环境EC与生产环境一致,那么VP也一致。 如果测试环境EC按比例减少,则VP也按比例减少。
如果生产环境是a模式,则测试环境无论EC值如何,都会设置EC=VP且=1,以尽可能接近生产性能。 如果VP与EC的比例越大,系统层面的调度开销就越大,操作系统获得的CPU时间片就越少。 CPU利用率不会随着吞吐量的增加而增加,响应时间也会延长。
在一些不需要准确统计CPU使用情况,并且希望在必要时获得更多CPU能力的场景下,设置VP>EC且=0,这意味着运行时获得的物理CPU Core数量可以大于EC,但在最等于 VP 。
逻辑CPU数量(CPU)
操作系统会用逻辑CPU来调度进程,每个逻辑CPU可以接受操作系统层的一个软件线程。 操作系统根据逻辑CPU的数量(VP x SMT)来调度线程。 如果逻辑CPU显着多于物理CPU线程(或者VP显着多于EC,且=1时),则会产生过多的系统层调度开销。
对于独占 CPU 分区,逻辑 CPU = 物理 CPU x SMT。
对于共享 CPU 分区,逻辑 CPU = VP x SMT。
逻辑CPU无需设置,系统自动根据上述公式计算。
1.获取源码
Nmon BBBL 表:CPU
2. 最佳实践
逻辑CPU的数量是操作系统进程调度的最大并发值。 当逻辑CPU较少而系统和应用进程过多时,调度效率较低。 因此,主应用程序的并行进程/线程的数量应小于逻辑CPU的数量。
表面贴装技术
并发多线程(SMT)技术允许多个独立的硬件指令流同时运行在同一个物理处理器(CPU Core)上,即实际的物理CPU线程,相当于x86平台上的超线程。 SMT可以显着提高处理器的性能。 以及系统的整体吞吐量。 对于平台来说,每个CPU Core有4个并发多线程(SMT=4); 对于平台来说,每个CPU Core有8个并发多线程。
1.获取源码
Nmon BBBL 板材:SMT
2. 最佳实践
SMT值和CPU核心(或VP)数量共同决定了逻辑CPU的数量,即操作系统进程调度的最大并发值。 测试时不仅需要关注EC和VP,还需要关注SMT值。
有上限/无上限 (/)
微分区可以是 () 或 ()。 无论如何,有上限的微分区获得的处理器资源(运行时的物理CPU)不会超过其EC值。 无限微分区 在某些情况下,获得的运行时物理CPU可以超过EC值。 当运行时物理CPU高于EC时,必须同时满足以下条件: 1) 设置=0。 2) 设置VP大于EC。 3)LPAR负载较重,需要CPU。 4)CPU资源池有可用的CPU资源。
1.获取源码
Nmon BBBL 表:
2. 最佳实践
当需要准确的统计性能测试结果时,设置=1。
当=0时,运行时获得的CPU可能会大于EC值,这会导致CPU利用率统计出现问题。 当运行时获得的CPU大于EC时,CPU利用率=(用户态CPU+系统模式CPU)/运行时获得的CPU。 运行时获取的CPU是动态的,这使得统计CPU的实际使用情况变得困难。 当然,计数的方法还是有的,后续章节会介绍。
型号/时钟频率
1.获取源码
设备类型 Nmon BBBP 表:型号
处理器型号 Nmon BBBP 表:类型
处理器频率 Nmon BBBP 表:时钟速度
2. 最佳实践
建议性能测试的应用比较场景在同一台物理机的同一个LPAR上进行。
如果无法布置在同一个LPAR上,请尝试布置在同一台物理机上。
如果不能布置在同一台物理机上,则需要关注物理机的型号、处理器的型号、处理器的时钟频率。
人们经常问,我在那台机器上每秒可以发送300条消息,为什么这台机器每秒只能发送200条消息,它们都有4个CPU。 这种情况往往是由于CPU型号不同造成的。
如果LPAR所在的物理服务器都是IBM Power系列,则可以根据IBM提供的不同设备类型/不同CPU频率的rPerf值,计算出由于设备类型和CPU型号导致的性能差异。 rPerf是IBM自己定义的Power服务器基准程序,相当于跑分程序。 在“IBM Power”中,有所有Power型号的rPerf值查询。如下图
如果两个设备来自不同的制造商或者具有来自同一制造商的不同的CPU架构,则需要引入公平的TPC。 TPC指标稍后介绍。
处理器折叠()
也称为 VP 折叠 ( )。 启用VP折叠功能后,当系统负载较低时,AIX系统会自动休眠部分VP,以减少调度开销,提高系统性能。 当CPU折叠功能关闭时,VP不执行折叠。
1.获取源码
Nmon BBBP 表:
命令行 – Fa|grep
2. 最佳实践
1为开放,0为关闭,生产环境的配置必须一致。 在某些场景下,关闭VP折叠功能可以获得更好的性能。
如果开关关闭,则展开的 VP(VP、活动 VP,即非休眠 VP)始终等于 VP 值。
运行时物理CPU (CPU)
LPAR运行时获取的物理CPU核数。 在运行时,物理CPU可以低于EC或高于EC,但最大值等于VP的数量。
1.获取源码
Nmon LPAR 表:
命令行topas:Physc
2. 最佳实践
如果测试过程中发现运行时CPU大于EC,则说明给定的EC不足,需要借用CPU池中的资源。 可以通过nmon中的值是否大于EC,或者topas的Entc是否大于100%来判断。
这种情况会导致CPU的实际使用情况难以统计,而且通过动态抢占的物理CPU的性能远不如EC保证的CPU。
除非配置需要与生产环境保持一致,这种情况下,建议增大EC或者设置=1。
同系列文章还包括:
好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。