服务器测试之CPU

article/2025/8/21 16:55:30

简述CPU测试

在服务器中CPU可谓是整个机台的大脑,重要性可想而知。因此在服务器系统整合测试这一块关于CPU的测试可谓是重中之重,而博主在这里因为篇幅原因,仅仅介绍一些关于CPU性能测试方面的东西,而有关压测以及function测试博主在这里不多做阐述,对于有这方面需求可以搜索stressapp/burnin/ptumon/ASST以及AVT工具的使用方法,或者不清楚的也可以私信我。
另外博主在这里部署的OS环境是在Redhat7/Centos7/Debian9下进行的,中间有什么错误的以及需要补充的欢迎各路大神进行指导。

简介SPECCPU2017

目前对于CPU性能数据比较认可的工具不多,但SPECCPU2017就是其中一个很权威的性能基线测试工具。
SPEC CPU 2017是一套CPU子系统测试工具,包括4大种类共43个测试,包括在测试整型速度、浮点运算速度的性能测试SPECspeed 2017、SPECspeed 2017 Floating Point以及测试整型并发速率和浮点并发速率SPECrate 2017 Integer和SPECrate 2017 Floating Point 。借助于OpenMP多线程API,SPEC CPU 2017还可以在测试过程中监控功耗。新的基准测试套件移除了libquantum项目(libquantum是模拟量子计算机的库文件,由于测试项目被认为仅对Intel有利)。SPEC CPU 2017基准测试工具可在该网站购买下载,正式授权版本为1000美元左右
SPEC CPU2017包括40多个基准,分为4个套件:
SPECspeed 2017 Integer
SPECrate 2017 Integer
SPECspeed 2017 float
SPECrate2017年 float
另外根据需求不通跑的的矢量集也是不同的,正常情况下我们是跑AVX512,但也有一部分跑AVX2矢量集等等(其他需求暂不知道)。
它们之间的关系如下:

SEPCCPU2017
AVX512
AVX2
Rate
Speed
Init
Float
Init
Float
Rate
Speed
Init
Float
Init
Float

Rate Test:
关注的是一定时间内完成多少工作,考验的是CPU的并发处理能力。Rate是系统能达到的总体能力的衡量。

Speed Test
关注的是一定时间内完成一项工作需要多少时间,考验的是CPU单线程任务处理能力,Speed是系统完成一个任务的速度的衡量。

下载方式: 咳咳,因为正版的是需要收费的,所以博主在这里就不提供了,没资源的大家也可以去寻找破解版的以及有资源的人

硬体环境

1.CPU/Memory/BIOS/BMC/等基本的硬件环境
2.两块及以上的存储设备
3.数据盘至少大于50G(用于存储测试过程中的编译缓存文件)

软体环境

1.Debain/Redhat/Centos 等主流操作系统
2.SPECCPU2017/SPECCPU2008 Tool
3.The latest FW
4.SPECCPU2017D的测试套件

安装步骤

1.将下载好的SPECCPU2017文件下挂载到一个不用的分区

// mount到/nmt
[root@localhost /]# mount -o loop speccpu2017.iso /mnt 
// 创建SPECCPU2017文件夹
[root@localhost /]# mkdir /root/SPECCPU2017 && chmod -R 777 /root/SPECCPU2017/ 
// 将数据盘格式成ext4格式(注意NVME以及HDD的盘符定义不同),并挂载到SPECCPU2017上面
[root@localhost /]# mkfs.ext4 /dev/nvme1n1
[root@localhost /]# mount /dev/nvme1n1 /root/SPECCPU2017

2.运行SPECCPU2017文件夹中的install.sh脚本

// 将mnt中的文件复制到SPECCPU2017文件夹下面,并进行安装
[root@localhost /]# cp -rf /mnt/* /root/SPECCPU2017/ && chmod -R 777 * /root/SPECCPU2017/*
[root@localhost /]# ./root/SPECCPU2017/install.sh
// 卸载/mnt
[root@localhost /]# /umount /mnt 

以下是SPECCPU201的ios文件
SPECCPU2017 IOS文件

安装过程有可能遇到的情况
1.在安装完SPECCPU2017 Tool进行测试时,发现有报缺少组件libstdc++的情况,运行安装必要的lib库
解决办法如下:
**For CentOS 7
‘’‘$ yum install -y glibc.i686
‘’’$ yum install -y libgcc.i686
‘’‘$ yum install libstdc++
‘’’$ yum install libstdc++.so.6

For Debian 9.9
‘’‘$ apt-get install libstdc++
‘’’$ apt-get install lib32stdc++6
‘’'$ apt-get install libstdc++6
有外部网络的请忽略,无网络进行安装的,需要自行配置yum源的可以参考以下地址方法:
centos7:
https://blog.csdn.net/lvtula/article/details/82017997
debian:
https://www.cnblogs.com/lvchaoshun/p/7554642.html
2.在安装完SPECCPU2017时,出现以下error

 ERROR: Programs in /root/SPECCPUCPU2017.iso cannot be executed. Is this volume mounted with the "noexec" flag? Tools installation will not be able to proceed until this is rectified.

目前博主仅在将NVME的盘挂载的时候遇到过这种情况,导致该问题出现的原因是由于mount SPECCPU2017的方式不对,可采用以下挂载方式
解决办法如下:

[root@localhost /]# mount -o ro,exec,loop speccpu2017.iso /mnt 

3.将测试套件解压至SPECCPU2017的安装目录

[root@localhost SPECCPU2017]# tar -xvf speccpu2017.tar.xz 

运行结果处理

如下是运行完程序,在report文件夹下生成的Log
在这里插入图片描述
其中我们重点关注的仅仅是图片中圈处理的文件,图片中我仅仅截取的是跑rate测试时生成的有哪些log作为参考
以下是具体的PDF文档内容
PDF
如图我们重要关注点是途中红框标记的base/peak值,它代表的是CPU的性能评分。而橙色显示的是当前系统的软硬件环境,看是否匹配测试之前的配置

总结

在这里博主因为精力以及篇幅原因,不再对CPU的调优设置以及压测进行说明(因为太多了,需要花时间整理),后续有时间的话,博主专门写一篇CPU stress测试以及参数调优,如果大家又不懂的或者我有写错的点也欢迎大家私信我。本期内容到此结束,请大家多加加关注,毕竟原创来自不易。


http://chatgpt.dhexx.cn/article/nYIGW0va.shtml

相关文章

web服务器性能测试---服务器性能测试实例

WEB性能测试--服务器 目录 一、准备测试环境............................................................................................................1 二、测试步骤...........................................................................................…

测试服务器CPU情况

要查看服务器的CPU情况,你可以使用 TOP 命令结合一些选项来执行相应的测试top 命令:运行 top 命令可以实时监视系统的各个进程和 CPU 使用情况在 top 命令的输出中,有几个重要的指标参数可以帮助你了解系统的 CPU 使用情况和进程信息。以下是…

记录一次较为完整服务器(服务端)性能测试

前言 回顾几年前,做性能测试,尤其是服务器性能测试难度比较大,一是测试人员本身技术不足,二是测试的生态环境 不够完善(参考资料少、实用案例少、工具选型少),然而在这两年随着测试环境的生态逐…

服务器带宽测试

服务器带宽:简单地说,就是同一时间段能传输的数据总量,服务器带宽越小那么可容纳数据吞吐量越小,同一时间段可容纳的用户访问量也越少(单位时间内从服务器拉取的数据量就越小)。服务器带宽越大,…

关于云服务器的测试

目录 安装sysbench0.4.12 安装sysbench1.0 CPU加密运算性能 CPU浮点运算性能 JAVA程序运行时延(s) Web程序系统平均响应时延/系统吞吐量 CPU(EPS)-CPU每秒执行事件数 内存读取性能(MB/s)-每秒读取内存数据大小 内存写入性能(MB/s)-每秒写入内存数据…

如何测试服务器的速度

服务器好不好,使用起来体验度如何,跟服务器的多项性能有关:硬件配置、带宽大小、带宽线路、运营商都决定了服务器最终使用体验。 现在租一台服务器是非常稀松平常的事情,可以说任何个人只要有需求都可以直接网上租用一台服务器来使…

Quartz

什么是Quartz quartz:石英钟的意思 是一个当今市面上流行的高效的任务调用管理工具 由OpenSymphony开源组织开发 Symphony:交响乐 是java编写的,我们使用费时需要导入依赖即可 为什么需要Quartz 什么是任务调度 所谓任务调用,就是执行某些具体动作的时间计划 最简单的…

Quartz基本使用

(一)定时任务 在很多情况下任务并非需要立即执行 , 而是需要往后或定期执行 , 这不可能人工去操作 , 所以定时任务就出 现了 使用定时任务的情况 : 每周末凌晨备份数据 触发条件 5 分钟后发送邮件通知 30 分钟未支付取消订单 每 1 小时去拉取数…

Quartz概述

Quartz是开源任务调度框架中的翘楚,它提供了强大的 任务调度机制。Quartz允许开发人员灵活的定义触发器的调度时间表,并可对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场&#x…

Quartz的使用

什么是Quartz Quartz是一个由java编写的开源作业调度框架,简单来说,Quartz就是启动定时任务的框架,像linux系统中的corntab,可以定时启动任务. Quartz的单独使用 Quartz的使用必须掌握下面三个对象 Scheduler 定时器对象JobDe…

Quartz 配置详解

Quartz自定义配置详解(一)——实现自定义配置 - 掘金通过默认配置下的quartz信息输出可以看到,quartz默认不支持数据的持久化,且无集群支持;但是在实际项目使用中,为了保证相关数据的准确和定时任务执行稳定…

quartz详解

quartz 一、Quartz相关介绍 1.简介  1.1 Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。  1.2 Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。  1.3 Quartz 允许程序开发人员根据时间…

【开发经验】quartz表结构说明(字段说明)

文章目录 一、quartz表信息二、表字段说明1.qrtz_blob_triggers2.qrtz_calendars3.qrtz_cron_triggers4.qrtz_fired_triggers5.qrtz_job_details6. qrtz_locks7.qrtz_paused_trigger_grps8. qrtz_scheduler_state9.qrtz_simple_triggers10.qrtz_triggers 一、quartz表信息 qrt…

Quartz简介

文章目录 Quartz 是什么What is the Quartz Job Scheduling Library?使用场景特点Quartz 使用的设计模式 Java 语言实现定时任务的几种方式核心元素SchedulerTriggerCalendarJobDetailJobJobExecutionContext 核心元素之间的关系Quartz 类图主要线程数据存储 最近做了一个活动…

【quartz表结构及说明】

文章目录 一、quartz表信息二、表字段说明 1.qrtz_blob_triggers2.qrtz_calendars3.qrtz_cron_triggers4.qrtz_fired_triggers5.qrtz_job_details6. qrtz_locks7.qrtz_paused_trigger_grps8. qrtz_scheduler_state9.qrtz_simple_triggers10.qrtz_triggers 一、quartz表信息 qr…

Quartz数据库表分析

2019独角兽企业重金招聘Python工程师标准>>> 系列文章 Spring整合Quartz分布式调度 Quartz数据库表分析 Quartz调度源码分析 前言 上一篇文章Spring整合Quartz分布式调度介绍了Quartz通过数据库的方式来实现分布式调度,通过使用数据库来存储trigger&…

php rsa公钥加密,PHP RSA加密

这两天正好做一个rsa加密,现在就总结一下其中的几个要点。 1.什么是rsa算法 RSA公钥加密算法是1977年由罗纳德李维斯特(Ron Rivest)、阿迪萨莫尔(Adi Shamir)和伦纳德阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA…

php 代码加密运行,php加密后可以直接运行吗

加密后的php代码需要ZendGuardLoader模块才能正常运行 下载ZendGuardLoader压缩包 下载好后解压压缩包,找到目录下的 ZendLoader.dll 文件,将它放到你的php目录下ext下,再编辑php.ini文件,添加一段代码:[Zend.loader] …

PHP加密 php源代码在线加密工具推荐

在我们开发的项目中,有一部分可能是用于商业用途,会部署在客户提供的机器环境中。因为 PHP 本身是解释型语言,所以未进行处理的代码,就会有泄露或被修改的风险。那么我们可能会想到最简单有效的方法就是进行PHP代码的加密&#xf…

PHP数据加密的几种方式

首先我们来了解一下为什么要加密? 在网络通信的过程中攻击者可以伪造请求和返回,从而达到不可告人的目的。如下图所示: 数据加密之后可以防止他人监听窃取信息以及通讯内容被篡改。 了解了加密的作用,我再来说说加密的方式&…