SPECPOWER2008

一、前言#

1、软件说明#

官网:
SERT®套件用户指南2.0.5
SPECpower介绍
SPEC基准及工具
SPECpower_ssj2008测试结果
SPECpower_ssj2008-Design_ccs

- SPEC#

SPEC(the Standard Performance Evaluation Corporation)是一个由计算机硬件厂商、软件公司、大学、研究机构、系统集成商、出版发型及咨询机构组成的非营利性组织,致力于创建、维护并引导一个计算机系统及业界公认的系统指标。

- SPECpower#

SPECpower是由SPEC组织开发的一种性能/功耗比基准测试工具,用于评估基于Java应用程序的服务器功耗情况
SPECpower_ssj2008利用标准Java的JDK计算整体服务器性能,并根据其11个不同的工作负载区域段的功耗得出服务器的工作负载/能耗比的测试方式。它应用specjbb作为工作负载,先实时满负荷的运行3次,求得平均值得到系统的最高性能值,然后系统以此为参照,按100%、90%、80%...10%、0%(idle)运行工作负载,其系统的利用率也依次下降,性能运行结果会以ssj_ops方式记录;同时连接系统电源的功率仪(Yokogawa WT210)会实时记录系统的功率状况(Average Active Power(W)),最后系统会把性能和功率做一个累加并相除得到性能功耗比(∑ssj_ops / ∑power =Performance to Power Ratio)

2、软件应用#

SPECpower_ssj2008目前是一个比较客观的服务器能耗标准,常用于中国电信、中国移动等运营商服务器集采选型测试中,它可以很好地检测服务器产品能耗,评估后期运行电费,为IDC机房规划建设、能耗分析与控制提供科学依据

3、系统组成#

常见SPECpower最小组网包括以下组件:

3.1、SUT(被测系统)#

即被测服务器

3.2、CCS(数据收集和控制系统)#

即控制台,用于功率数据收集及相关指令下发

3.3、Power Analyzer(功率仪)#

用于统计服务器在不同运行负载下的功率数据

4、组网拓扑#

  • 被测系统通过电源线与功率仪连接接入外部电源,用于实时获取功率数据
  • 数据收集和控制系统通过网线与被测系统连接至同一网络环境下,用于下发相关控制指令
  • 数据收集和控制系统通过串口线与功率仪连接,用于获取功率仪生成的功率统计数据

2、测试配置#

2.1、硬件配置#
序号设备类型主机名硬件配置网络信息操作系统
1SUT(被测机)node131CPU: Phytium S5000C/64 * 2
内存:256GB
系统盘:Samsung 500GB m.2 SSD * 1
数据盘:Seagate 8TB SATA HDD * 12
缓存盘:MEMBLAZE 3.2TB PCIE SSD * 2
172.16.5.131Kylin v10
2CCS(压力机)node135CPU:Intel E5-2620 v2 * 2
内存:64GB
系统盘:Samsung 480GB SATA SSD * 2
172.16.5.135windows server 2012
3功率计-横河电机WT310E--
2.2、测试工具#
软件名称软件版本软件用途
SPECpowerssj2008 v1.10服务器能耗测试

二、测试过程#

1、准备阶段#

1.1、SUT配置#
  • 安装依赖包:java-11-openjdk、numactl
yum install java-11-openjdk.aarch64 numactl -y
  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
  • 关闭selinux,修改/etc/selinux/configSELINUX=disabled
[root@node131 ~]# cat /etc/selinux/config | grep SELINUX=
SELINUX=disabled
  • 配置JAVA环境变量
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.7-0.ky10h.aarch64/
CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib.dt.jar
PATH=${JAVA_HOME}/bin:$PATH
export JAVA_HOME CLASSPATH PATH
unset _JAVA_OPTIONS
  • 配置ssj/runssj.sh脚本
    上传ssj/runssj.sh脚本到ssj目录下,修改DIRECTOR_HOST为压力机IP地址
#!/bin/sh
## This is an example of what a run script might look like
##

JVMS=128

## Set to TRUE if jvm Director is on this host
LOCAL_DIRECTOR=FALSE
DIRECTOR_HOST=172.16.5.135

## The SETID is used to identify the descriptive configuration properties
## that will be used for the system under test.  For example, with a SETID
## of "sut", the descriptive configuration properties will be read from the
## file SPECpower_ssj_config_sut.props from the Director system.
SETID=sut

DIRECTOR_PROPFILE=SPECpower_ssj.props

## Benchmark run rules require a list of active OS services be retained for publishable runs.
## For Solaris, this can be accomplished by uncommenting the following line.
## svcs -a > services.txt
## For Red Hat Linux, this can be accomplished by uncommenting the following line.
## /sbin/runlevel > services.txt ; /sbin/chkconfig -list >> services.txt
## Other operating systems will require similar commands.

## Set java options for ssj and director
JAVAOPTIONS_SSJ="-Djava.awt.headless=true -Xms10440m -Xmx10440m"
JAVAOPTIONS_DIRECTOR="-Djava.awt.headless=true -Xms10440m -Xmx10440m"


JAVA=java


CP="ssj.jar:check.jar:lib/jcommon-1.0.16.jar:lib/jfreechart-1.0.13.jar"

date

$JAVA -version

x=1
while [ "$x" -le "$JVMS" ]; do
    a=`expr $x - 1`    
    echo Starting instance $x
    numactl -C $a  -l  $JAVA -cp ${CP} $JAVAOPTIONS_SSJ -XX:+UnlockExperimentalVMOptions -XX:+UseFastSerializer -DfastSerializerEscapeMode=true -XX:+UseParallelGC -XX:+AggressiveUnboxing -XX:+LazyBox -XX:+TieredCompilation  org.spec.power.ssj.SpecPowerSsj -jvmid $x -numJvms $JVMS -director $DIRECTOR_HOST -setid $SETID  > ssjOutput.$x &
#   numactl -N $a  -l  $JAVA -cp ${CP} $JAVAOPTIONS_SSJ -XX:+UnlockExperimentalVMOptions -XX:CompileCommand=blackhole -XX:+UnlockDiagnosticVMOptions -XX:-UseVtableBasedCHA  org.spec.power.ssj.SpecPowerSsj -jvmid $x -numJvms $JVMS -director $DIRECTOR_HOST -setid $SETID  > ssjOutput.$x &
    x=`expr $x + 1`
done

if [ "$LOCAL_DIRECTOR" = "TRUE" ]; then
    echo Starting Director 
    $JAVA -cp ${CP} $JAVAOPTIONS_DIRECTOR -XX:+UnlockExperimentalVMOptions -XX:+UseFastSerializer  -DfastSerializerEscapeMode=true   org.spec.power.ssj.Director -propfile $DIRECTOR_PROPFILE 
else
    wait
fi

date
1.2、CCS配置#
  • 下载安装openjdk-11
镜像下载:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/11/jdk/x64/windows/OpenJDK11U-jdk_x64_windows_hotspot_11.0.21_9.msi
  • 修改ssj/SPECpower_ssj.props文件
    修改input.load_level.number_warehouses为被测机线程数
input.load_level.number_warehouses=128
  • 修改ccs/ccs.props文件
    修改ptd.pwr1.config.analyzer.model为功率计型号
    修改ptd.pwr1.config.analyzer.serial为功率计序列号
    修改ptd.pwr1.config.analyzer.connectivity为与功率计的连接方式(串口为RS-232)
ptd.pwr1.config.analyzer.model=WT310E
ptd.pwr1.config.analyzer.serial=C3ZD04018E
ptd.pwr1.config.analyzer.connectivity=RS-232
  • 修改ptd/runpower.bat文件
    修改PTD为配置实际使用的ptd文件
    修改DEVICE为功率计设备号(横河WT210为8 ,WT310为49)
    注:当不知道设备号时,可以改为8,会自动匹配
    修改DEVICE_PORT为连接端口(查看功率计连接在哪个com口上,根据实际情况配置)
set PTD=ptd-windows-x86.exe
set DEVICE=49
set DEVICE_PORT=COM3
  • 修改ccs/ccs.prop文件
ccs.ptd.pwr1.current_range_settings=4
  • 修改ssj/rundirector.bat文件
set JAVAOPTIONS_DIRECTOR=-Xms4096m -Xmx4096m

2、测试阶段#

2.1、环境检查#
  • 检查被测机上电模式,是否为负载均衡
  • 检查被测机散热模式,是否对风扇转速有限制
  • 被测机配置检查,检查CPU、内存、硬盘、PCIe卡状态是否正常
  • 检查java版本信息
  • 检查压力机与被测机网络连接正常
  • 检查压力机与功率仪连接正常
  • 检查功率仪状态(确保能正确显示服务器电压、电流和功率运行状况)
2.2、启动测试#

安装以下测试顺序,依次启动运行程序

1、CCS端运行
  • CCS端运行ptd/runpower.bat
  • CCS端运行ptd/runtemp.bat
  • CCS端运行ssj/rundirector.bat
2、SUT端运行
  • SUT端运行ssj/runssj_ft_s5000c.sh
3、CSS端运行
  • CCS端运行ccs/runCCS.bat
2.3、查看结果#

测试执行完成后,会在压力机生成Results\ssj.0180\ssj.0180-main.html文件,重点关注每个阶段ssj_ops∑ssj_ops / ∑power结果

三、Q&A#

1、性能调试#

不同BIOS配置、系统参数、测试脚本下,对应的能耗表现有所不同,通常情况下,为了快速验证性能调试手段,我们可以修改运行脚本,使其只跑其中1个阶段即可(默认情况下会跑完所有11个阶段阶段,耗时较长)

修改ssj/SPECpower_ssj.props文件,增加参数input.load_level.count=1,使其只运行第一个阶段

input.load_level.count=1

2、功率仪连接说明#

由于测试机电源需与功率仪连接以此获取测试机电压、电流、功率运行状况,故功率仪连接部分需要用到插排电源盒功率仪三部分,之后测试机电源插入插排即可
注:各线缆连接完成后,电源盒需按下常规测量按钮

  • 功率仪产品铭牌

  • 电源盒产品铭牌

  • 电源线接线定义

  • 功率仪电源盒接线说明

  • 连接路径为测试机-插排-电源盒-功率仪,各线缆连接完成后,按下电源盒常规测量按钮,此时功率仪可正常检测测试机电压、电流、功率运行状况,之后功率仪通过串口或者网络将状况数据传输至压力机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/229153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fatal error: sql.h: No such file or directory的解决办法

Ubuntu环境下运行命令 sudo apt install unixodbc-dev 来源:https://github.com/mkleehammer/pyodbc/issues/441

【面试】测试/测开(ING)

63. APP端特有的测试 参考:APP专项测试、APP应用测试 crash和anr的区别 1)网络测试 2)中断测试 3)安装、卸载测试 4)兼容测试 5)性能测试(耗电量、流量、内存、服务器端) 6&#xf…

十、数据读/写流程

1、数据写入流程: (1)基础流程 ~客户端发送请求 ~NameNode做判断,是否具有权限,空间是否充足 ~返回地址,告诉客户端一个datanode, ~向指定的datanode发送数据包, 副本的复制和备…

Liunx系统使用超详细(五)~命令符号

目录 一、逻辑符号 1.1&& 1.2|| 二、连接符号 2.1| 2.2> 2.3>> 2.4< 三、分隔符号 3.1 &#xff1b; 在Linux中&#xff0c;逻辑符号和连接符号常用于构建命令行中的逻辑操作和管道操作。下面对这两种符号进行总结描述。 一、逻辑符号 1.1&…

管理类联考——数学——真题篇——按题型分类——充分性判断题——秒杀

题型结构 问题求解&#xff1a;通过计算求解&#xff0c;从五个选项中选出一个正确答案。条件充分性判断&#xff1a;问所给的条件&#xff08;1&#xff09;&#xff08;2&#xff09;能否推出题设的结论&#xff0c;共有五个选项&#xff0c;从中选出正确的一个。&#xff0…

Qt练习题

1.使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否…

ubuntu18.04配置cuda+cudnn+anconda+pytorch-gpu+pycharm

一、显卡驱动安装 执行nvidia-smi查看安装情况 二、cuda安装 cuda官网下载cuda_11.6.2_510.47.03_linux.run&#xff0c;安装执行 sudo sh cuda_11.6.2_510.47.03_linux.run提升安装项&#xff0c;驱动不用安装&#xff0c;即第一项&#xff08;Driver&#xff09;&#xff…

int(1) 和 int(10) 的区别

int(1) 和 int(10) 的区别 最近遇到个问题&#xff0c;有个表的要加个user_id字段&#xff0c;user_id字段可能很大&#xff0c;于是我提mysql工单alter table xxx ADD user_id int(1)。领导看到我的sql工单&#xff0c;于是说&#xff1a;这int(1)怕是不够用吧&#xff0c;接…

springboot智慧导诊系统源码:根据患者症状匹配挂号科室

一、系统概述 医院智慧导诊系统是在医疗中使用的引导患者自助就诊挂号&#xff0c;在就诊的过程中有许多患者不知道需要挂什么号&#xff0c;要看什么病&#xff0c;通过智慧导诊系统&#xff0c;可输入自身疾病的症状表现&#xff0c;或选择身体部位&#xff0c;在经由智慧导诊…

【EtherCAT详解】基于Wireshark的EtherCAT帧结构解析

写在前面 EtherCAT的报文比较繁琐,且一些参考书籍错误较多,且晦涩难懂,对于初学者,很难快速的入门。本文适用于有一定基础的研究者,如对报文有一些研究、对canopen协议有一定了解、并且对TwinCAT有了解的研究者。当然,对于初学者来说,也是很好的引导,少走很多弯路。本…

云上巴蜀丨云轴科技ZStack成功实践精选(川渝)

巴蜀——古政权必争之地 不仅拥有优越的战略位置 而且拥有丰富的自然资源&#xff0c;悠久的历史文化 如今的川渝经济、人口发展迅速 2023年前三季度&#xff0c;四川与重庆GDP增速均超过国家平均线&#xff0c;为6.5%为5.6% 川渝经济发展带动数字化发展浪潮 云轴科技ZSt…

智能外呼是什么意思?智能外呼的工作原理是什么?

智能外呼是什么意思&#xff1f; 智能外呼是指利用人工智能技术实现对电话外呼的优化和自动化&#xff0c;以提高外呼效率和质量。智能外呼可以根据客户的需求和行为进行智能化的拨号、语音识别、语音合成、自动化问答等操作&#xff0c;从而实现更高效、更准确的客户沟通和营…

Linux高级管理-搭建网站服务

在Ihternet 网络环境中&#xff0c;Web 服务无疑是最为流行的应用系统。有了Web站点&#xff0c;企业可以充分 展示自己的产品&#xff0c;宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富 的网络应用。部署与维护Web 服务是运维工程师必须掌握的一个技…

2.修改列名与列的数据类型

修改字段名与字段数据类型 1.修改字段名 有时&#xff0c;在我们建好一张表后会突然发现&#xff0c;哎呀&#xff01;字段名貌似写错了&#xff01;怎么办&#xff1f;要删了表再重新建一个新表吗&#xff1f;还是要删了这个字段再新建一个新的字段&#xff1f; 都不用&…

【排序算法】希尔排序

一&#xff1a;基本介绍 插入排序介绍 1.1 插入排序存在问题 我们看简单的插入排序可能存在的问题 数组 arr {2,3,4,5,6,1} 这时需要插入的数 1(最小), 这样的过程是&#xff1a; {2,3,4,5,6,6}{2,3,4,5,5,6}{2,3,4,4,5,6}{2,3,3,4,5,6}{2,2,3,4,5,6}{1,2,3,4,5,6} 结论:…

hive 命令行中使用 replace 和nvl2 函数报错

1.有时候在命令行的情况下使用 replace 函数时会报错 这个时候可以使用 translate 代替 2.有时候使用 nvl2() 函数的时候会报错 这个时候可以用 case when 来代替

AMC8竞赛第一题很简单?来看看历年的真题体会一下(含详细解析)

作为具有全球影响力的&#xff0c;面向中小学生的数学竞赛&#xff0c;AMC8在中国的知名度和参与人数也越来越多。 和国内的各种数学比赛相比&#xff0c;AMC8有一个很有意思的地方&#xff1a;全部是单项选择题&#xff0c;没有其他题型。所以不用担心做不完&#xff0c;毕竟…

【Angular开发】2023年促进您开发的最佳Angular库

如果你是一名开发人员&#xff0c;你可以理解平台的重要性&#xff0c;它可以加快开发过程&#xff0c;显著减少编码时间和工作量。 根据StackOverflow开发者2021年的调查&#xff0c;Angular是其中一个令人惊叹的平台&#xff0c;它一直赢得人们的喜爱&#xff0c;并获得了全…

被动副业机赚钱项目教程,Docker一键安装教程

被动副业机赚钱项目教程&#xff0c;Docker一键安装教程 Docker一键运行 软件下载 视频教程 /opt/wxedge_storage 路径换成你设备里面的路径即可&#xff0c;其余参数不用变&#xff0c; 镜像名为onething1/wxedge 更多安装说明&#xff0c;可参考官方文档&#xff1a;容器魔…

Vue:用IDEA开发Vue,标签语法爆红问题处理

一、场景描述 我在IDEA中&#xff0c;学习Vue课程。 入门学习时&#xff0c;是在html文件中&#xff0c;script引入vue.js文件方式。 此时&#xff0c;在html文件中用v-标签&#xff0c;爆红。 二、解决办法 打开 菜单栏 File - Settings 选择 Editor - Files Type&#xf…