CN113961413A - 服务器功耗测试方法及装置 - Google Patents

服务器功耗测试方法及装置 Download PDF

Info

Publication number
CN113961413A
CN113961413A CN202010703750.0A CN202010703750A CN113961413A CN 113961413 A CN113961413 A CN 113961413A CN 202010703750 A CN202010703750 A CN 202010703750A CN 113961413 A CN113961413 A CN 113961413A
Authority
CN
China
Prior art keywords
server
bandwidth
cpu
tested
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010703750.0A
Other languages
English (en)
Inventor
李聪聪
鲁江华
唐本亭
冯保强
刘振
傅浩杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010703750.0A priority Critical patent/CN113961413A/zh
Publication of CN113961413A publication Critical patent/CN113961413A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种服务器功耗测试方法及装置,属于业务支撑技术领域。其中,服务器功耗测试方法包括:获取被测服务器的硬件信息;根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。本发明的技术方案能够准确评估服务器整机功耗。

Description

服务器功耗测试方法及装置
技术领域
本发明涉及业务支撑技术领域,特别是指一种服务器功耗测试方法及装置。
背景技术
绿色数据中心是近年来国家大力倡导的方向,从2011年开始,国家陆续出台关于建设绿色数据中心的政策,从国家层面指导绿色数据中心的建设和发展。而PC服务器作为数据中心的主要计算设备,其功耗效率直接影响到数据中心的PUE(Power UsageEffectiveness,电源使用效率),而数据中心需要在规划建设阶段就预估服务器等设备的运行功耗,从而能够最大化地做到安全和节能,故在接近现网应用环境下对PC服务器功耗的准确测量至关重要,需要建立科学有效的测试模型来准确预估服务器在实际应用中的功耗。
但现有的服务器的功耗评估方法尚无法准确预估服务器在实际应用中的功耗。
发明内容
本发明要解决的技术问题是提供一种服务器功耗测试方法及装置,能够对服务器功耗进行准确评估。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种服务器功耗测试方法,包括:
获取被测服务器的硬件信息;
根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
一些实施例中,所述获取被测服务器的硬件信息包括:
调用统一的redfish接口,根据所述被测服务器的管理IP地址与所述被测服务器之间建立会话连接;
在鉴权通过后,向所述被测服务器发送请求体,请求获取所述被测服务器的硬件信息;
接收所述被测服务器返回的响应体,所述响应体中携带所述被测服务器的硬件信息。
一些实施例中,所述被测服务器的硬件信息包括以下至少一项硬件的信息:CPU、内存、硬盘、网卡。
一些实施例中,所述根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数包括以下至少一项:
根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数;
根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数;
根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数。
一些实施例中,所述根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数包括:
根据CPU负载大小以及CPU数量、核数、内存容量大小确定该负载大小下的计算压力模型加载参数,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数。
一些实施例中,所述根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数包括:
根据硬盘输入/输出I/O带宽以及机械盘、SSD盘及PCIe SSD盘的信息确定存储压力模型加载参数,所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例。
一些实施例中,所述根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数包括:
根据网络I/O带宽以及网卡数量和单网口带宽信息确定网络压力模型加载参数,所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
一些实施例中,所述根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率包括以下至少一项:
在压力加载中实时监控所述被测服务器的CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小;
在压力加载中实时监控所述被测服务器的总存储I/O带宽,动态调整不同类型硬盘的worker数,保证加载过程中磁盘总带宽保持为设置的硬盘I/O带宽。
在压力加载中实时监控所述被测服务器的总网络I/O带宽,动态调整每秒并发用户数和/或并发连接数和/或并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
一些实施例中,所述计算不同所述服务器资源利用率对应的所述被测服务器的功耗值包括:
计算并记录不同的CPU负载大小下所述被测服务器的功耗值和整机性能值。
本发明实施例还提供了一种服务器功耗测试装置,包括:
硬件信息统计模块,用于获取被测服务器的硬件信息;
压力配置模块,用于根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
压力加载模块,用于根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
数据收集模块,用于计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
一些实施例中,所述硬件信息统计模块具体用于调用统一的redfish接口,根据所述被测服务器的管理IP地址与所述被测服务器之间建立会话连接;在鉴权通过后,向所述被测服务器发送请求体,请求获取所述被测服务器的硬件信息;接收所述被测服务器返回的响应体,所述响应体中携带所述被测服务器的硬件信息。
一些实施例中,所述被测服务器的硬件信息包括以下至少一项硬件的信息:CPU、内存、硬盘、网卡。
一些实施例中,所述压力配置模块具体用于执行以下至少一项:
根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数;
根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数;
根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数。
一些实施例中,所述压力加载模块具体用于根据CPU负载大小以及CPU数量、核数、内存容量大小确定该负载大小下的计算压力模型加载参数,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数。
一些实施例中,所述压力加载模块具体用于根据硬盘输入/输出I/O带宽以及机械盘、SSD盘及PCIe SSD盘的信息确定存储压力模型加载参数,所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例。
一些实施例中,所述压力加载模块具体用于根据网络I/O带宽以及网卡数量和单网口带宽信息确定网络压力模型加载参数,所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
一些实施例中,所述压力加载模块具体用于执行以下至少一项:
在压力加载中实时监控所述被测服务器的CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小;
在压力加载中实时监控所述被测服务器的总存储I/O带宽,动态调整不同类型硬盘的worker数,保证加载过程中磁盘总带宽保持为设置的硬盘I/O带宽。
在压力加载中实时监控所述被测服务器的总网络I/O带宽,动态调整每秒并发用户数和/或并发连接数和/或并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
一些实施例中,所述数据收集模块具体用于计算并记录不同的CPU负载大小下所述被测服务器的功耗值和整机性能值。
本发明的实施例还提供了一种服务器功耗测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上所述的服务器功耗测试方法。
本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的服务器功耗测试方法中的步骤。
本发明的实施例具有以下有益效果:
上述方案中,根据被测服务器的硬件信息和被测服务器的资源使用信息计算被测服务器的压力模型加载参数,根据被测服务器的压力模型加载参数在被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,根据服务器在现网不同场景中的应用,可以获取不同负载点下的压力模型加载参数,对被测服务器各模块进行相应大小的压力加载,可以准确地评估服务器的实际运行能耗。
附图说明
图1为现有服务器动态功耗测试系统的基本连接拓扑图;
图2为本发明实施例服务器功耗测试方法的流程示意图;
图3为本发明实施例服务器功耗测试装置的结构示意图;
图4为本发明实施例硬件信息统计模块获取被测服务器的硬件信息的示意图;
图5为本发明实施例压力配置模块的工作示意图;
图6为本发明实施例被测服务器与功率分析仪连接的示意图;
图7为本发明具体实施例服务器功耗测试方法的流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
目前,服务器的功耗评估方法主要有以下几种:
1、额定功率计算法:
通过各配件及型号的额定功率进行累加以评估服务器的功耗。PC服务器的主要部件有CPU、内存、硬盘、网卡、风扇、电源模块、RAID(Redundant Arrays of IndependentDisks,磁盘阵列)卡以及主板等,经过实验室验证以及各部件技术白皮书查询,可以获取到各个部件的额定功率。
PC服务器功耗=外接部件功耗+板载器件功耗;
外接部件=CPU+内存+硬盘+风扇+PCIE(peripheral component interconnectexpress,高速串行计算机扩展总线标准)卡+电源模块+其他;
板载器件=芯片组+内存控制器+BMC(Baseboard Manager Controller,基板管理控制器)+板载网卡+板载RAID/SAS卡(磁盘阵列卡)+其他;
其中,选择不同的电源,电源转换效率也不同,一般计算理论功耗最大值时以负载100%时的电源模块转换效率来计算。
但这种加和方法只能粗略估计服务器最大功率,并不能准确体现服务器在不同负载下的功耗,参考价值有限。
2、实际测试粗略估计法:
设备加电后,启动stress、PTU、memtest、I/Ometer等测试工具对服务器不同部件进行加压,通过钳流表获取PC服务器电源端子的输入电流,使用P=U*I(u=220v)粗略衡量整机的最大功耗和待机功耗数据,但这种方法无法获取服务器在实际应用中不同比例负载下的动态功耗数据。
3、服务器动态功耗测试方法:
利用标准Java的JDK计算整体服务器性能,并根据其0%~100%这11个不同工作负载区域段的功耗得出服务器的工作负载/能耗比。以一个服务器最大的workload为100%指标,每10%的workload降低为一个区域段,对比在每个不同的workload区域段之内的能耗。在测试过程中SPECpower会分级别对系统进行加压,主要通过施加JVM(Java虚拟机)、JIT(即时)编译器等负载对CPU和内存加压,基本连接拓扑图如图1所示。
其中,PC通过串口线(COM)和功率仪通讯得到功率数据,PC通过网络和测试服务器相连来控制整个测试流程。功率仪器显示服务器电压,电流和功率运行状况,PC控制端运行批处理文件触发测试。完整的运行大约70分钟,结束后可以在result目录下发现ssj.000x-main.html文件显示测试各阶段性能与功耗比值的数据。
该方案中java应用程序运行于java虚拟机之上,主要是对系统的内存和CPU的压测,如果把服务器计算、存储、网络功耗都考虑在内的话,在整体系统功耗方面的测试模型还有待进一步完善。
上述三种服务器的能耗评估方法目前在现网中均有应用,但均与实际的应用场景有较大的偏差,无法做到准确评估服务器的实际应用能耗,无法满足数据中心规划建设所需功耗评估等精确要求,三种技术方案的缺点分析如下:
方案1:额定功率计算法,只能粗略估计服务器最大功率,并不能准确体现服务器在不同负载下的功耗。
方案2:实际测试粗略估计法,只能粗略获取到服务器在空载和满载下的功耗数据,无法覆盖服务器的常规应用场景。
方案3:服务器动态功耗测试方法,由软件驱动的功耗变化主要是由于CPU和内存负载增加导致的,但是硬盘、网络压力缺失,而实际应用中存储介质(包括SSD、HDD、PCIeSSD)的功耗也占很大部分,尤其一些存储型应用场景中使用的服务器配置盘较多,没有压力其休眠后测试功耗与实际应用场景中的工作功耗相差巨大,比如单块HDD盘在休眠和压力加载下的功耗差距3瓦,如果有36盘配置,则前后相差108瓦;PCIe SSD在idle和满载相差10w;而随着智能网卡的推出,网卡内置芯片承担更多的计算功能,在工作状态下功耗与idle状态下差别也在逐渐增大,故测试结果无法准确评估服务器的实际应用功耗值。
针对上述问题,需要根据现网实际应用,有效引入对硬盘和网卡的压力,在测试中应启动对各类硬盘(SSD、HDD、PCIe SSD)进行全盘加压以及对网卡的加压,综合考量CPU、内存、磁盘I/O、网络的压力进行功耗评估,使得功耗测试模型更能体现现网实际业务运行情况,可以准备评估现网中服务器实际应用功耗。
基于上述分析,本发明实施例提供一种服务器功耗测试方法,如图2所示,包括:
步骤101:获取被测服务器的硬件信息;
步骤102:根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
步骤103:根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
步骤104:计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
本实施例中,根据被测服务器的硬件信息和被测服务器的资源使用信息计算被测服务器的压力模型加载参数,根据被测服务器的压力模型加载参数在被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,能够准确地评估服务器的实际运行能耗。
一些实施例中,所述获取被测服务器的硬件信息包括:
调用统一的redfish接口,根据所述被测服务器的管理IP地址与所述被测服务器之间建立会话连接;
在鉴权通过后,向所述被测服务器发送请求体,请求获取所述被测服务器的硬件信息;
接收所述被测服务器返回的响应体,所述响应体中携带所述被测服务器的硬件信息。
一些实施例中,所述被测服务器的硬件信息包括以下至少一项硬件的信息:CPU、内存、硬盘、网卡。
一些实施例中,所述根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数包括以下至少一项:
根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数;
根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数;
根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数。
一些实施例中,所述根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数包括:
根据CPU负载大小以及CPU数量、核数、内存容量大小确定该负载大小下的计算压力模型加载参数,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数。
一些实施例中,所述根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数包括:
根据硬盘输入/输出I/O带宽以及机械盘、SSD盘及PCIe SSD盘的信息确定存储压力模型加载参数,所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例。
一些实施例中,所述根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数包括:
根据网络I/O带宽以及网卡数量和单网口带宽信息确定网络压力模型加载参数,所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
一些实施例中,所述根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率包括以下至少一项:
在压力加载中实时监控所述被测服务器的CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小;
在压力加载中实时监控所述被测服务器的总存储I/O带宽,动态调整不同类型硬盘的worker数,保证加载过程中磁盘总带宽保持为设置的硬盘I/O带宽。
在压力加载中实时监控所述被测服务器的总网络I/O带宽,动态调整每秒并发用户数和/或并发连接数和/或并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
一些实施例中,所述计算不同所述服务器资源利用率对应的所述被测服务器的功耗值包括:
计算并记录不同的CPU负载大小下所述被测服务器的功耗值和整机性能值。
本实施例中,被测服务器的资源利用率信息包括CPU利用率、磁盘I/O总带宽、网络I/O带宽等,不同的资源利用率下服务器的功耗值不同,本实施例的技术方案可以在不同的资源利用率下测量服务器功耗值和对应服务器整机java应用性能值,进而得到不同系统负载压力下的服务器功耗值和对应服务器整机java应用性能值;在本实施例中,可以通过模拟java应用来对被测服务器CPU进行压测,每秒钟完成多少笔JAVA业务操作(OPS,BusinessOperation Per Second)即可以表征对被测服务器压测计算性能值大小,整机的计算性能值与CPU负载压力成正比。
本发明实施例还提供了一种服务器功耗测试装置,如图3所示,包括:
硬件信息统计模块21,用于获取被测服务器的硬件信息;
压力配置模块22,用于根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
压力加载模块23,用于根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
数据收集模块24,用于计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
其中,硬件信息统计模块21和数据收集模块24可以位于控制终端,压力配置模块22和压力加载模块23可以位于被测服务器。
一些实施例中,所述硬件信息统计模块21具体用于调用统一的redfish接口,根据所述被测服务器的管理IP地址与所述被测服务器之间建立会话连接;在鉴权通过后,向所述被测服务器发送请求体,请求获取所述被测服务器的硬件信息;接收所述被测服务器返回的响应体,所述响应体中携带所述被测服务器的硬件信息。
一些实施例中,所述被测服务器的硬件信息包括以下至少一项硬件的信息:CPU、内存、硬盘、网卡。
一些实施例中,所述压力配置模块22具体用于执行以下至少一项:
根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数;
根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数;
根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数。
一些实施例中,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数;
所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例;
所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
所述压力加载模块具体用于根据CPU负载大小以及CPU数量、核数、内存容量大小确定该负载大小下的计算压力模型加载参数,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数。
一些实施例中,所述压力加载模块具体用于根据硬盘输入/输出I/O带宽以及机械盘、SSD盘及PCIe SSD盘的信息确定存储压力模型加载参数,所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例。
一些实施例中,所述压力加载模块具体用于根据网络I/O带宽以及网卡数量和单网口带宽信息确定网络压力模型加载参数,所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
一些实施例中,所述压力加载模块23具体用于执行以下至少一项:
在压力加载中实时监控所述被测服务器的CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小;
在压力加载中实时监控所述被测服务器的总存储I/O带宽,动态调整不同类型硬盘的worker数,保证加载过程中磁盘总带宽保持为设置的硬盘I/O带宽。
在压力加载中实时监控所述被测服务器的总网络I/O带宽,动态调整每秒并发用户数和/或并发连接数和/或并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
一些实施例中,所述数据收集模块24具体用于计算并记录不同的CPU负载大小下所述被测服务器的功耗值和整机性能值。
下面结合附图以及具体的实施例对本发明的技术方案进行进一步介绍:
本实施例可以模拟现网不同应用场景下(web应用场景、大数据应用场景、视频服务器、数据库应用场景、分布式块存储应用场景、大存储应用场景等)服务器计算、存储、网络资源的使用情况,在被测服务器端安装压测工具和压测脚本,对服务器各部件CPU、内存、硬盘和网卡进行不同压力加载模型的压测,能够准确地评估服务器在现网不同应用场景中不同负载下的实际功耗。服务器功耗测试装置包括五个模块:硬件信息统计模块、压力配置模块、压力加载模块、数据收集模块、网络交换模块,如图3所示。
其中,硬件信息统计模块部署在控制终端,测试开始时,控制终端下发控制指令,硬件信息统计模块开始工作,硬件信息统计模块可统计信息包括CPU信息、内存信息、硬盘信息及网卡信息。如图4所示,输入被测服务器的管理IP地址,该模块会调用统一的redfish接口,与被测服务器建立会话连接,鉴权通过后,该模块向被测服务器发送CPU、内存、硬盘、网卡的GET请求体,被测服务器校验该模块发送的请求URI(Uniform ResourceIdentifier,统一资源标识符)通过,将获取CPU、内存、硬盘、网卡资源的信息填充响应体,并返回对应的响应码和响应体。
在返回的CPU资源响应体中,可以获取到CPU的资源信息包括CPU架构、socket数量、厂商、型号、核数、线程数等;在返回的内存资源响应体中,可以获取到内存的资源信息包括内存型号、数量、容量、主频等;在返回的硬盘资源响应体中,可以获取到的硬盘(机械硬盘、SATA SSD、PCIe SSD)的资源信息包括硬盘厂商、数量、接口类型、型号、容量等;在返回的网卡资源响应体中,可以获取到的网卡(板载网卡、PCIe网卡)的资源信息包括网卡的厂商、型号等。
其中,压力配置模块主要获取对CPU、内存、硬盘、网卡各部件的压力加载参数,调控被测服务器系统的负载压力,模拟现网不同应用场景中不同负载下计算、存储、网络的资源使用情况。如图5所示,该模块需要先获取到现网不同应用场景下CPU负载大小,即计算资源使用情况、磁盘总I/O带宽、网络总I/O带宽,将这三个参数输入到压力配置模块中。压力配置模块会根据CPU负载大小以及获取到的CPU数量、核数、内存容量大小等信息确定该负载点下的计算压力模型加载参数;会根据硬盘I/O带宽以及获取到的机械盘、SSD盘及PCIeSSD盘的信息确定存储压力模型加载参数;会根据网络I/O带宽以及获取到的网卡数量及单网口带宽信息确定网络压力模型加载参数。
(1)对于CPU及内存的压力模型,由于该模型主要模拟java应用来对被测服务器进行压测,每秒钟完成多少笔JAVA业务操作(OPS,Business OperatI/On Per Second)即可以表征对被测服务器的压测计算性能值大小,而CPU负载大小是与该压测计算性能值大小成正比的。主要压力影响参数为warehouse数量、JVM进程数,warehouse数量直接决定测试线程的并发数,所以warehouse的数量会根据CPU利用率进行设置和调整,warehouse数量最大为被测服务器CPU总的线程数,JVM进程数则一般设置为CPU每个socket的线程数。而JVM堆内存的大小会根据内存的容量大小进行相应设置。
测试过程中,首先将warehouse数量设置为CPU总的线程数,CPU利用率可以达到100%,进而获取被测服务器压测最大性能值;然后根据CPU利用率大小,成比例降低warehouse数量,即为对应CPU利用率要求下的压力模型加载参数。
(2)对于硬盘压力模型,通过对各硬盘进行不同块大小、不同队列深度、不同读写比例的I/O操作,模拟不同应用的I/O压力测试,对各种盘施加不同大小的I/O压力,获取不同的存储I/O带宽。其中对于普通机械硬盘HDD、SATA SSD(固态硬盘)、PCIe SSD,不同盘的一种I/O压力模型具体参数如下:
表1机械硬盘HDD的I/O压力模型
Figure BDA0002593852630000141
表2 SATA SSD的I/O压力模型
队列深度 数据块大小 顺序读比例 顺序写比例
SATA SSD 32 128K 0% 100%
表3 PCIe SSD的I/O压力模型
队列深度 数据块大小 顺序读比例 顺序写比例
PCIe SSD 128 128K 0% 100%
在测试过程中,根据各类项硬盘数量以及存储总I/O带宽,对各I/O模型配置不同的进程(worker)数,即可调整硬盘总的I/O带宽为设置的总带宽,但对各个模型配置不同的worker数,会导致CPU利用率的波动。
(3)对于网卡压力模型,通过模拟并发用户http连接测试,验证被测服务器的响应。通过对各网卡施加不同的网络I/O压力,获取不同的网络I/O带宽。测试开始前,会在被测服务器端安装web服务,配置访问模型可以设置为并发用户模型/或并发连接模型/或并发交易模型,采用协议为为http/https连接,数据包的平均大小设置为1KB至1MB之间,通过调整每秒并发用户数和/或并发连接数和/或并发交易数大小来调整总的网络I/O带宽为设置的网络I/O总带宽。
对于压力加载模块,根据获取到的计算压力模型加载参数,在被测服务器上启动应用程序对CPU进行加压,压力加载中实时监控CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小。另外,根据获取到的硬盘压力模型加载参数,在被测服务器上启动对各类硬盘的压力加载,压测过程中实时监控被测服务器的总存储I/O带宽。当总带宽不等于设置值时,会动态调整对机械硬盘、SATA SSD、PCIe SSD三种盘的worker数,保证加载过程中硬盘总带宽保持为设置的磁盘I/O带宽。另外,根据获取到的网卡压力模型加载参数,在被测服务器上启动对各块网卡的压力加载,压测过程中实时监控被测服务器的总网络I/O带宽,动态调整每秒并发用户数/并发连接数/并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
整个压力加载过程中,首先需要一个adjust阶段将各部件的压力逐渐调整到设定值,然后是一个长时间持续平稳加压过程,此过程中,CPU负载大小保持为设置的CPU利用率大小,各类硬盘总的I/O带宽为设置的存储I/O总带宽,网卡总的I/O带宽为设置的网络I/O总带宽。最后测试结束,进入对各模块压力逐渐释放的ramp-down阶段。
数据收集模块主要功能是收集并记录服务器实时功耗数据及整机压测计算性能值。测试过程中,对于不同的CPU负载点以及不同的硬盘I/O带宽、网络I/O带宽,可以联动设置对CPU及内存、硬盘、网卡的压力加载,将各负载点下的压测计算性能值传送给数据收集模块;同时功率分析仪获取的服务器实时功耗也会通过网络传送到数据收集模块。为保证测试数据的真实性,adjust阶段和ramp-down阶段的数据不计入统计数据内,等测试结束,数据收集模块会自动输出各个负载点平稳压测阶段的计算性能值和对应功耗值。
如图6所示,网络交换模块(未图示)主要负责被测服务器和功率分析仪(简称功率仪)的连接,包括串口线和网线;部署在控制终端上的数据收集模块通过串口线与功率分析仪通信得到的功耗数据,通过网线与测试服务器相连来获取测试过程中的计算性能值。
本实施例中,对于服务器设备,其整机功耗主要由4个重要子系统组成,公式如下:
Pall=Phw+PΔCPU+PΔmem+PΔstorage+PΔnet
其中,Pall是整机功耗,Phw是服务器在闲置状态下的功耗,PΔCPU是CPU工作时增加的功耗,PΔmem是内存运行时增加的功耗,PΔstorage是存储系统运行时增加的功耗,PΔnet是网络系统运行时增加的功耗。
所以对CPU、内存、硬盘、网卡这些基本部件进行压测,可以获取到动态实时功耗和整机性能值。根据服务器在现网不同场景中的应用,获取不同负载点下CPU利用率、硬盘I/O带宽、网络I/O带宽的大小,对被测服务器计算、存储、网络各模块进行相应大小的压力加载,可以更准确地模拟评估现网实际应用中的设备功耗值。
如图7所示,本实施例的测试方法包括以下步骤:
步骤a、获取被测服务器的硬件信息;
硬件信息统计模块获取被测服务器的CPU、内存、硬盘、网卡各部件的数量及配置信息。不同应用场景中的CPU、内存、硬盘及网卡配置有很大差别,在计算应用场景中,会配置计算性能较强的CPU,CPU的数量及每个CPU的核数会比较多;而在存储应用场景中,会配置较多数量的机械盘、SSD盘及PCIe SSD盘,比如在大存储应用场景中,机械硬盘的配置数量高达36块;而在网络数据交换比较多的场景中,会配置较多数量网卡,比如在视频服务器应用场景中,会配置4块10GE网卡。
步骤b、判断是否输入CPU负载大小、硬盘I/O带宽、网络I/O带宽,如果是,转向步骤c,如果否,转向步骤a;
步骤c、计算CPU、硬盘、网卡各压力加载模型参数;获取现网不同应用场景下的计算、存储、网络资源利用情况,比如在web应用场景下,CPU利用率会比较高,业务繁忙可能高达90%,而存储I/O带宽则较少,比如为100MB/s,网络I/O带宽为128MB/s;而在大存储应用场景中,CPU利用率只有5%,而存储I/O带宽则高达2000MB/s,网络I/O也1280MB/s。根据获取到的CPU利用率大小、硬盘I/O带宽、网络I/O带宽,压力配置模块将根据硬件统计信息模块获取到的被测服务器各部件信息,计算出CPU、内存、硬盘、网卡各部件的压力加载模型参数,保持压力加载过程中CPU的使用率为设置的CPU负载大小、磁盘总带宽保持为设置的磁盘I/O带宽、网卡的发送和接收带宽之和为设置的网络I/O带宽。
步骤d、启动压力测试;
压力加载模块根据根据压力配置模块计算出的压测参数,启动被测服务器上的压力测试,包括:
(1)启动CPU压力加载工具,通过施加JAVA压力程序,对CPU、内存进行压力加载,配置参数包括系统启动物理线程核数、JVM虚拟机数量等;
(2)启动存储压力加载工具对硬盘进行压力加载,配置每块磁盘上读写进程数(woker)、I/O压力模型(I/O块大小、I/O读写比例、I/O顺序随机比例)、磁盘起始访问扇区和访问扇区范围、访问队列深度等,对各个盘进行均匀加压;
(3)启动网络打流工具对网卡进行压力加载,设置网络并发访问模型、访问用户数大小、数据包的大小及数量,启动对各个网卡的压力加载。
步骤e、收集并记录当前负载下的计算性能值和功耗值;
在CPU压力加载工具对CPU进行不同压力负载大小的加压过程中,会获取到服务器在当前负载压力下的计算性能值,并传送给数据收集模块;而功率分析仪会读取测试过程中服务器整机的功耗值,并通过网络传送给数据收集模块,测试完毕,数据收集模块会输出不同负载下的设备计算性能值和功耗值。
重复步骤b-e,即可获取不同负载点、不同存储I/O带宽以及不同网络I/O带宽下的功耗值,输出测试结果,测试结束。
本实施例的技术方案充分考虑了服务器中对功耗影响较大的I/O组成配件(机械硬盘、SATA SSD、PCIe SSD等)、网络组件(网卡)所消耗的功耗,更加全面和准确的对服务器的整机功耗进行了评估测试;另外,充分考量了现网不同应用场景中计算、存储、网络不同资源使用情况对功耗的影响,对服务器各部件CPU、内存、硬盘和网卡进行不同压力加载模型的压测,故得出的功耗测试数据更接近现网实际应用功耗,解决了实际测试中无法准备评估设备在现网中的实际功耗的难题。在集采测试中,功耗数据也会应用到电费计算中并计入投标价格,影响到厂商的切身利益,本实施例的技术方案会引导厂商加大对单部件硬盘、网卡的节能调优研究投入,长远来看,可以真正从PC服务器产品层面推动节能减排的实施,提高服务器的功耗效率,进而提高数据中心的PUE,创造更多的经济价值。
本发明的实施例还提供了一种服务器功耗测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上所述的服务器功耗测试方法。
本发明的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的服务器功耗测试方法中的步骤。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种服务器功耗测试方法,其特征在于,包括:
获取被测服务器的硬件信息;
根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
2.根据权利要求1所述的服务器功耗测试方法,其特征在于,根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数包括以下至少一项:
根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数;
根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数;
根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数。
3.根据权利要求2所述的服务器功耗测试方法,其特征在于,所述根据CPU负载大小以及CPU的硬件信息确定该负载大小下的计算压力模型加载参数包括:
根据CPU负载大小以及CPU数量、核数、内存容量大小确定该负载大小下的计算压力模型加载参数,所述计算压力模型加载参数包括以下至少一项:CPU的利用率、warehouse数量、JVM进程数。
4.根据权利要求2所述的服务器功耗测试方法,其特征在于,所述根据硬盘输入/输出I/O带宽以及硬盘的硬件信息确定存储压力模型加载参数包括:
根据硬盘输入/输出I/O带宽以及机械盘、SSD盘及PCIe SSD盘的信息确定存储压力模型加载参数,所述存储压力模型加载参数包括以下至少一项:硬盘I/O带宽、硬盘的块大小、硬盘的队列深度、硬盘的读写比例。
5.根据权利要求2所述的服务器功耗测试方法,其特征在于,所述根据网络I/O带宽以及网卡的硬件信息确定网络压力模型加载参数包括:
根据网络I/O带宽以及网卡数量和单网口带宽信息确定网络压力模型加载参数,所述网络压力模型加载参数包括以下至少一项:网络I/O带宽、每秒并发用户数、每秒并发连接数、每秒并发交易数大小。
6.根据权利要求2所述的服务器功耗测试方法,其特征在于,所述根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率包括以下至少一项:
在压力加载中实时监控所述被测服务器的CPU的利用率,当CPU利用率超过设置的CPU负载大小时减少warehouse数量,当CPU利用率未达到设置的CPU负载大小时增加warehouse数量,保持CPU利用率为设置的CPU负载大小;
在压力加载中实时监控所述被测服务器的总存储I/O带宽,动态调整不同类型硬盘的worker数,保证加载过程中磁盘总带宽保持为设置的硬盘I/O带宽。
在压力加载中实时监控所述被测服务器的总网络I/O带宽,动态调整每秒并发用户数和/或并发连接数和/或并发交易数大小,保证在压力加载过程中,网卡的发送和接收带宽之和为设置的网络I/O带宽。
7.一种服务器功耗测试装置,其特征在于,包括:
硬件信息统计模块,用于获取被测服务器的硬件信息;
压力配置模块,用于根据所述被测服务器的硬件信息和所述被测服务器的资源使用信息计算所述被测服务器的压力模型加载参数;
压力加载模块,用于根据所述被测服务器的压力模型加载参数在所述被测服务器上对服务器资源进行加压,并在压力加载中实时监控服务器资源利用率,所述服务器资源包括以下至少一项:CPU、磁盘I/O总带宽、网络I/O带宽;
数据收集模块,用于计算不同所述服务器资源利用率对应的所述被测服务器的功耗值。
8.一种服务器功耗测试装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的服务器功耗测试方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的服务器功耗测试方法中的步骤。
CN202010703750.0A 2020-07-21 2020-07-21 服务器功耗测试方法及装置 Pending CN113961413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010703750.0A CN113961413A (zh) 2020-07-21 2020-07-21 服务器功耗测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010703750.0A CN113961413A (zh) 2020-07-21 2020-07-21 服务器功耗测试方法及装置

Publications (1)

Publication Number Publication Date
CN113961413A true CN113961413A (zh) 2022-01-21

Family

ID=79459978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010703750.0A Pending CN113961413A (zh) 2020-07-21 2020-07-21 服务器功耗测试方法及装置

Country Status (1)

Country Link
CN (1) CN113961413A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816875A (zh) * 2022-04-25 2022-07-29 武汉木仓科技股份有限公司 一种驾驶模拟器的上位机配件测试方法、装置和设备
CN115529258A (zh) * 2022-09-30 2022-12-27 济南浪潮数据技术有限公司 一种快速定位带宽最优值的方法、系统、装置及介质
CN116302728A (zh) * 2022-11-04 2023-06-23 中国标准化研究院 服务器能效测试系统
CN116775410A (zh) * 2023-06-21 2023-09-19 合芯科技(苏州)有限公司 Cpu使用率评估及显示方法、系统、终端、介质及服务器管理系统
CN117112370A (zh) * 2023-10-24 2023-11-24 四川华鲲振宇智能科技有限责任公司 一种服务器功耗的获取方法和系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816875A (zh) * 2022-04-25 2022-07-29 武汉木仓科技股份有限公司 一种驾驶模拟器的上位机配件测试方法、装置和设备
CN115529258A (zh) * 2022-09-30 2022-12-27 济南浪潮数据技术有限公司 一种快速定位带宽最优值的方法、系统、装置及介质
CN115529258B (zh) * 2022-09-30 2024-05-03 郑州浪潮数据技术有限公司 一种快速定位带宽最优值的方法、系统、装置及介质
CN116302728A (zh) * 2022-11-04 2023-06-23 中国标准化研究院 服务器能效测试系统
CN116775410A (zh) * 2023-06-21 2023-09-19 合芯科技(苏州)有限公司 Cpu使用率评估及显示方法、系统、终端、介质及服务器管理系统
CN117112370A (zh) * 2023-10-24 2023-11-24 四川华鲲振宇智能科技有限责任公司 一种服务器功耗的获取方法和系统

Similar Documents

Publication Publication Date Title
CN113961413A (zh) 服务器功耗测试方法及装置
US10552761B2 (en) Non-intrusive fine-grained power monitoring of datacenters
US8230238B2 (en) Estimating power consumption in a computing environment
US20020161553A1 (en) Adaptive load generation
CN111258830B (zh) 一种服务器功耗对比测试系统及方法
CN107193699A (zh) 一种通过rdma方式自动测试hca卡带宽延时方法
WO2021139103A1 (zh) 加压参数自适应调节方法、装置、计算机设备及存储介质
CN110297743B (zh) 一种负载测试方法、装置和存储介质
CN107977318B (zh) 一种Android应用程序的能耗和性能测试方法
CN113656174A (zh) 资源分配方法、系统、计算机设备和存储介质
CN112269697B (zh) 一种设备存储性能测试方法、系统及相关装置
US20180203628A1 (en) Method, apparatus and computer program product for evaluating data storage systems for energy efficiency
CN116682479A (zh) 一种企业级固态硬盘时延指标的测试方法及测试系统
WO2023050671A1 (zh) 服务器故障定位方法、装置、电子设备及存储介质
CN111478824B (zh) 一种网卡功耗测试方法、装置、系统
CN107632911A (zh) 一种机柜式服务器功耗测试方法及测试系统
Liu et al. TRACER: A trace replay tool to evaluate energy-efficiency of mass storage systems
CN112269715A (zh) 服务器功耗测方法及相关设备
CN113342872B (zh) 基于pue能耗监控的方法及电子设备
Hendayun et al. Analysis of Application Performance Testing Using Load Testing and Stress Testing Methods in Api Service
CN117914984B (zh) 一种用于通讯设备终端的多维通讯压力测试方法及系统
CN111949504A (zh) 一种压力测试方法、装置及介质
CN112231156B (zh) 一种spec cpu2017测试成绩预估方法、系统、装置及介质
CN111400115B (zh) 一种基于jbod存储设备测试的效能提升方法及系统
Qyu et al. Research on server energy consumption optimization technologies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination