本发明涉及服务器测试技术领域,更具体的说是涉及一种服务器功耗对比测试系统及方法。
背景技术:
随着中国信息技术的快速发展,云计算技术取得了长足进步,各地云数据中心相继建立,云服务产品服务器已逐步走进人们的日常生活。随着服务器的大量使用,其功耗越来越高,数据中心的电力成本也随之增加,服务器的功耗优化显得尤为重要。在保证服务器高性能前提下要实现功耗的降低,只有研发出能够用于准确实时监控、管理服务器功耗的测试工具,精通服务器整机及部件功耗、性能关系,才能有针对性的进行cpu、风扇、内存、电源等部件节能策略引入和验证,可以使服务器变得更节能环保。
specpower_ssj2008是一项spec新测试基准,是一个接近于服务器实际工作环境中的性能/功耗的评价基准,旨在建立以服务器系统性能功耗比为基准的业内评价标准。specpower_ssj2008,是业界第一项用于评测系统级别服务器的与运算性能相关的功耗的基准测试工具。它利用标准java的jdk计算整体服务器性能,并根据其11个不同工作负载区域段的功耗得出服务器的工作负载/能耗比。以一个服务器最大的工作负载为100%指标,每10%的工作负载降低为一个区域段,对比在每个不同的工作负载区域段之内的能耗。
针对服务器的功耗测试,目前使用的方法是:在服务器上运行specpower,同时运行能够记录服务器总功耗和cpu功耗的脚本,记录总运行时间内的功耗数据。在specpower运行结束后,根据specpower运行中各工作负载的持续过程中bmc读取的功耗数据,计算各工作负载时间内的平均功耗数据,将计算后的功耗数据以csv表格格式进行展示。
在specpower运行过程中,各工作负载进程的持续运行时,服务器bmc虽然能够持续读取并记录一组整机功耗数据,但是由于bmc读取specpower整机功耗数据存在瞬时跳动误差会导致测试数据存在随机性差异,因此,这种数据读取方法的准确性不高。另外,记录cpu功耗、内存功耗、风扇转速及占空比等测试的不同脚本会生成多个log文件,数据整理工作量大,计算过程繁琐。
技术实现要素:
针对以上问题,本发明的目的在于提供一种服务器功耗对比测试装置及方法,能够准确、快捷地实现服务器的功耗测试,得到的功耗数据是优化整机功耗性能、判断服务器性能功耗比的重要依据。
本发明为实现上述目的,通过以下技术方案实现:一种服务器功耗对比测试系统,包括:上位控制机、待测服务器和功率计;所述上位控制机通过电源线与功率计内置的供电插座连接,功率计与上位控制机数据连接,上位控制机与待测服务器网络连接;所述上位控制机内设有第一功耗测试模块,所述第一功耗测试模块用于运行数据收集脚本收集上位控制机和功率计采集的待测服务器在工作负载区域段的整机、部件功耗数据,所述数据收集脚本包括预设的工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序;所述待测服务器内设有第二功耗测试模块,所述第二功耗测试模块用于运行功耗测试脚本读取bmc抓取的待测服务器在工作负载区域段的整机、部件功耗数据,所述功耗测试脚本包括预设的specpower服务器功耗测试程序。
进一步,所述功率计通过usb转串口数据线与上位控制机的com口连接,上位控制机通过网线与被测服务器的ocp网卡连接。
进一步,所述specpower服务器功耗测试程序包括待测服务器的整机功耗、cpu功耗、内存功耗、风扇转速及占空比数据的工作负载测试进程。
进一步,所述功率计采用wt310功率计。
相应的,本发明还公开了一种服务器功耗对比测试方法,包括如下步骤:
s1:将功耗测试脚本和配套文件复制到待测服务器中,并为待测服务器配置上位控制机的工作监控环境;
s2:将待测服务器的cpu工作模式设置为高性能模式;
s3:根据测试需求,设定待测服务器的测试环境状态;
s4:在上位控制机上运行数据收集脚本,打开工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序窗口;
s5:在被测服务器上运行功耗测试脚本,启动整机功耗自动化测试;
s6:数据收集脚本运行结束后生成第一功耗数据记录文件,功耗测试脚本运行结束后生成第二功耗数据记录文件;
s7:通过比较同一组件在第一功耗数据记录文件和第二功耗数据记录文件内的功耗数据,定位异常组件。
进一步,所述步骤s1包括:
在待测服务器上安装python;
设置上位控制机、待测服务器网卡的网口静态ip,配置上位机控制机、待测服务器的通信环境;
设置控制机收集功耗程序、控制机收集温度程序的相关参数,配置上位控制机工作监控环境。
进一步,所述步骤s2包括:
在待测服务器上刷新对应调控策略的bios、bmc、fru、kernel版本,通过cpu高性能模式监控脚本turbostat查看cpu工作模式,完成对cpu高性能模式的设置。
进一步,所述步骤s3包括:
根据测试需求,将待测服务器分别配置到fio加压、网口加压、gpu加压、moc卡加压、fpga加压、aep加压测试环境状态。
进一步,所述步骤s6包括:
被测服务器上的功耗测试脚本运行结束后自动生成第一功耗数据记录文件,所述第一功耗数据记录文件记录有每个工作负载持续过程中bmc读取到的待测服务器总功耗、cpu功耗、内存功耗、风扇转速及占空比的平均值;上位控制机上的数据收集脚本运行结束后自动生成第二功耗数据记录文件,所述第二功耗数据记录文件记录有每个工作负责持续过程中上位控制机读取到的功率计实时显示的待测服务器的总功耗、温度平均值。
进一步,所述第一功耗数据记录文件为log格式文件,所述第二功耗数据记录文件为html和/或txt格式的表格文件。
对比现有技术,本发明有益效果在于:本发明提供了一种服务器功耗对比测试系统及方法,通过搭建上位控制机与被服务器协作的功耗对比测试系统,上位控制机读取specpower各工作负载持续过程中功率计实时的功耗数据,待测服务器读取bmc抓取的specpower各工作负载持续过程中平均功耗数据,两组测试数据可对比验证,解决了使用specpower测试服务器整机功耗时,由于bmc读取specpower整机功耗数据存在瞬时跳动误差带来的数据准确性不高问题;增加了被待测服务器内存功耗、风扇转速及占空比数值读取,为服务器整机功耗性能评定及cpu、风扇、内存、电源等部件节能策略引入和验证提供准确数据支持。
本发明能够保证测试人员在测试服务器的整机功耗时,只需各运行一次控制机、被测机脚本即可等待测试完成后获得最终两组数据,控制机读取的功率计数据、被测机上bmc读取的测试数据可对比验证,有效解决了bmc读取数据存在瞬时跳动误差的现状,提高了测试数据的准确性;且整个测试过程、结果收集过程自动化进行,不需额外的分析和计算时间,提高了测试效率。
另外,还可用于其它测试环境下的服务器功耗数据测试。例如:fio加压、网口加压、gpu加压、moc卡加压、fpga加压、aep加压等工作状态下,测试服务器的总功耗和cpu的功耗。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的系统结构图。
附图2是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
实施例一:
如图1所示的一种服务器功耗对比测试系统,包括:上位控制机、待测服务器和wt310功率计。
所述上位控制机通过电源线与wt310功率计内置的供电插座连接,wt310功率计通过usb转串口数据线与上位控制机的com口连接,上位控制机通过网线与被测服务器的ocp网卡连接。
所述上位控制机内设有第一功耗测试模块,所述第一功耗测试模块用于运行数据收集脚本收集上位控制机和wt310功率计采集的待测服务器在工作负载区域段的整机、部件功耗数据,所述数据收集脚本包括预设的工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序。所述待测服务器内设有第二功耗测试模块,所述第二功耗测试模块用于运行功耗测试脚本读取bmc抓取的待测服务器在工作负载区域段的整机、部件功耗数据,所述功耗测试脚本包括预设的specpower服务器功耗测试程序,specpower服务器功耗测试程序内设有待测服务器的整机功耗、cpu功耗、内存功耗、风扇转速及占空比数据的工作负载测试进程。
实施例二:
相应的,如图2所示,本实施例还公开了一种服务器功耗对比测试方法,包括如下步骤:
s101:将功耗测试脚本和配套文件复制到待测服务器中,并为待测服务器配置上位控制机的工作监控环境。
s102:将待测服务器的cpu工作模式设置为高性能模式。
s103:根据测试需求,设定待测服务器的测试环境状态。
s104:在上位控制机上运行数据收集脚本,打开工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序窗口。
s105:在被测服务器上运行功耗测试脚本,启动整机功耗自动化测试。
s106:数据收集脚本运行结束后生成第一功耗数据记录文件,功耗测试脚本运行结束后生成第二功耗数据记录文件。
s107:通过比较同一组件在第一功耗数据记录文件和第二功耗数据记录文件内的功耗数据,定位异常组件。
实施例三:
本实施例公开了一种服务器功耗对比测试方法,包括如下步骤:
s201:将功耗测试脚本和配套文件复制到待测服务器中。
s202:在待测服务器上安装python。
s203:设置上位控制机、待测服务器网卡的网口静态ip,配置上位机控制机、待测服务器的通信环境。
s204:设置控制机收集功耗程序、控制机收集温度程序的相关参数,配置上位控制机工作监控环境。
s205:在待测服务器上刷新对应调控策略的bios、bmc、fru、kernel版本,通过cpu高性能模式监控脚本turbostat查看cpu工作模式,完成对cpu高性能模式的设置。
s206:根据测试需求,将待测服务器分别配置到fio加压、网口加压、gpu加压、moc卡加压、fpga加压、aep加压测试环境状态。
s207:在上位控制机上运行数据收集脚本,打开工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序窗口。
s208:在被测服务器上运行功耗测试脚本,启动整机功耗自动化测试。
s209:功耗测试脚本运行结束后自动生成第一功耗数据记录文件,所述第一功耗数据记录文件记录有每个工作负载持续过程中bmc读取到的待测服务器总功耗、cpu功耗、内存功耗、风扇转速及占空比的平均值;数据收集脚本运行结束后自动生成第二功耗数据记录文件,所述第二功耗数据记录文件记录有每个工作负责持续过程中上位控制机读取到的功率计实时显示的待测服务器的总功耗、温度平均值。
s210:通过比对同一组件在第一功耗数据记录文件和第二功耗数据记录文件内的功耗数据,定位异常组件。
实施例四:
本实施例公开了一种服务器功耗对比测试方法,包括如下步骤:
s301:按照服务器功耗测试套餐配置要求在机型箱体上安装相应的主板、风扇、电源、cpu、内存、硬盘、网卡等组件,完成待测服务器的组装。
s302:将wt310功率计的电源线连接到测试台电源插座上,待测服务器的所有电源线连接到wt310功率计自带的供电插座上,接通ac电源;wt310功率计通过一根usb转串口数据线与上位控制机的com口连接,上位控制机通过一根网线与待测服务器的ocp网卡连接,服务器开机。
s303:编写脚本文件autopower.bat,将上位控制机的specpower的workload(工作负载)进程监控程序、控制机收集功耗程序、控制机收集温度程序集合到autopower.bat脚本中。服务器功耗测试时,上位控制机只需执行一次autopower.bat脚本。
s304:编写脚本文件specpower_auto.py,将specpower的整机功耗、cpu功耗、内存功耗、风扇转速及占空比等数据的每个workload的测试方法都集合到specpower_auto.py脚本中。服务器功耗测试时,待测服务器只需执行一次specpower_auto.py脚本。
s305:将脚本文件specpower_auto.py和配套文件复制到待测服务器中,安装python;设置上位控制机、待测服务器网卡的网口静态ip,配置上位控制机、待测服务器的通信环境;设置控制机收集功耗程序(runpower.bat)、控制机收集温度程序的(runtemp.bat)相关参数,配置上位控制机工作监控环境。
s306:在待测服务器上刷新对应调控策略的bios、bmc、fru、kernel版本,通过cpu高性能模式监控脚本turbostat查看cpu工作模式,完成对cpu高性能模式的设置。
s307:根据测试需求,将服务器配置到fio加压、网口加压、gpu加压、moc卡加压、fpga加压、aep加压等测试环境状态。
s308:在上位控制机上运行autopower.bat脚本,自动打开specpower控制机监控程序、控制机收集功耗程序、控制机收集温度程序监控窗口。
s309:在待测服务器上运行specpower_auto.py脚本,开始整机功耗自动化测试。
s310:大约90分钟后,待测服务器specpower_auto.py脚本运行结束并自动生成log文件,打开文件就可以获得每个workload持续过程中bmc读取到的服务器总功耗、两个cpu功耗、内存功耗、风扇转速及占空比的平均值;上位控制机监控程序运行结束并自动生成html、txt文件,打开文件就可以获得每个workload持续过程中上位控制机读取到的wt310功率计实时显示的服务器总功耗、温度平均值。
s311:将所述两个文件中的两组测试数据进行对比验证,当发现同一组件的两组测试数据差值超过预设阈值或结论相反,定位异常组件。
本实施例提供的一种服务器功耗对比测试方法,能够使用autopower.bat、specpower_auto.py两个脚本自动获取两组服务器cpu100%-idle共11个工作负载区域段的整机、部件功耗数据,并将各workload持续过程中bmc读取的功耗数据以log格式文档进行存储。specpower的workload控制机监控程序、控制机收集功耗程序、控制机收集温度程序能够有效监控测试过程各workload进程,并将各workload持续过程中wt310功率计读取的功耗数据以html、txt格式表格进行存储。两组测试数据可对比验证,有效解决了bmc读取数据存在瞬时跳动误差的现状,提高了测试数据的准确性;且整个测试过程、结果收集过程自动化进行,不需额外的分析和计算时间,提高了测试效率。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
1.一种服务器功耗对比测试系统,其特征在于,包括:上位控制机、待测服务器和功率计;
所述上位控制机通过电源线与功率计内置的供电插座连接,功率计与上位控制机数据连接,上位控制机与待测服务器网络连接;
所述上位控制机内设有第一功耗测试模块,所述第一功耗测试模块用于运行数据收集脚本收集上位控制机和功率计采集的待测服务器在工作负载区域段的整机、部件功耗数据,所述数据收集脚本包括预设的工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序;
所述待测服务器内设有第二功耗测试模块,所述第二功耗测试模块用于运行功耗测试脚本读取bmc抓取的待测服务器在工作负载区域段的整机、部件功耗数据,所述功耗测试脚本包括预设的specpower服务器功耗测试程序。
2.根据权利要求1所述的服务器功耗对比测试系统,其特征在于,所述功率计通过usb转串口数据线与上位控制机的com口连接,上位控制机通过网线与被测服务器的ocp网卡连接。
3.根据权利要求1或2所述的服务器功耗对比测试系统,其特征在于,所述specpower服务器功耗测试程序包括待测服务器的整机功耗、cpu功耗、内存功耗、风扇转速及占空比数据的工作负载测试进程。
4.根据权利要求1所述的服务器功耗对比测试系统,其特征在于,所述功率计采用wt310功率计。
5.一种服务器功耗对比测试方法,其特征在于,包括如下步骤:
s1:将功耗测试脚本和配套文件复制到待测服务器中,并为待测服务器配置上位控制机的工作监控环境;
s2:将待测服务器的cpu工作模式设置为高性能模式;
s3:根据测试需求,设定待测服务器的测试环境状态;
s4:在上位控制机上运行数据收集脚本,打开工作负载进程监控程序、控制机收集功耗程序和控制机收集温度程序窗口;
s5:在被测服务器上运行功耗测试脚本,启动整机功耗自动化测试;
s6:数据收集脚本运行结束后生成第一功耗数据记录文件,功耗测试脚本运行结束后生成第二功耗数据记录文件;
s7:通过比较同一组件在第一功耗数据记录文件和第二功耗数据记录文件内的功耗数据,定位异常组件。
6.根据权利要求5所述的服务器功耗对比测试方法,其特征在于,所述步骤s1包括:
在待测服务器上安装python;
设置上位控制机、待测服务器网卡的网口静态ip,配置上位机控制机、待测服务器的通信环境;
设置控制机收集功耗程序、控制机收集温度程序的相关参数,配置上位控制机工作监控环境。
7.根据权利要求5所述的服务器功耗对比测试方法,其特征在于,所述步骤s2包括:
在待测服务器上刷新对应调控策略的bios、bmc、fru、kernel版本,通过cpu高性能模式监控脚本turbostat查看cpu工作模式,完成对cpu高性能模式的设置。
8.根据权利要求5所述的服务器功耗对比测试方法,其特征在于,所述步骤s3包括:
根据测试需求,将待测服务器分别配置到fio加压、网口加压、gpu加压、moc卡加压、fpga加压、aep加压测试环境状态。
9.根据权利要求5所述的服务器功耗对比测试方法,其特征在于,所述步骤s6包括:
被测服务器上的功耗测试脚本运行结束后自动生成第一功耗数据记录文件,所述第一功耗数据记录文件记录有每个工作负载持续过程中bmc读取到的待测服务器总功耗、cpu功耗、内存功耗、风扇转速及占空比的平均值;上位控制机上的数据收集脚本运行结束后自动生成第二功耗数据记录文件,所述第二功耗数据记录文件记录有每个工作负责持续过程中上位控制机读取到的功率计实时显示的待测服务器的总功耗、温度平均值。
10.根据权利要求5或9所述的服务器功耗对比测试方法,其特征在于,所述第一功耗数据记录文件为log格式文件,所述第二功耗数据记录文件为html和/或txt格式的表格文件。
技术总结