使用Sysbench测试统信UOS或麒麟KYLINOS的CPU性能

原文链接:使用Sysbench测试CPU性能 | 统信UOS | 麒麟KYLINOS
Hello,大家好啊!在今天的文章中,我们将探讨如何在统信UOS及麒麟KYLINOS操作系统上使用Sysbench工具来测试CPU性能。对于Linux用户来说,了解和评估自己系统的性能是非常重要的,特别是在进行系统配置或者软件开发时。幸运的是,Linux下有许多工具可以帮助我们完成这项任务,而Sysbench就是其中一种既简单又实用的工具。

Sysbench简介
Sysbench是一个多线程的基准测试工具,它可以对系统进行多方面的性能测试,包括CPU、内存、I/O操作以及数据库性能。由于其高度的可配置性和跨平台特性,Sysbench成为了评估不同系统性能的首选工具之一。

使用Sysbench测试CPU性能
安装完Sysbench后,我们可以通过执行一系列的测试来评估CPU性能。最常用的测试包括CPU性能测试、线程性能测试和锁定性能测试等。

解读测试结果
Sysbench测试完成后,将会显示测试结果。主要关注的几个指标包括总执行时间、每秒事务数等。根据这些指标,你可以对比不同配置或不同系统间的CPU性能差异。

1.查看系统信息

pdsys@pdsys-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11018.100.100
pdsys@pdsys-PC:~/Desktop$ uname -a
Linux pdsys-PC 4.19.0-amd64-desktop #6030 SMP Tue Jun 27 15:58:51 CST 2023 x86_64 GNU/Linux
pdsys@pdsys-PC:~/Desktop$ 

2.查看cpu信息

pdsys@pdsys-PC:~/Desktop$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       45 bits physical, 48 bits virtual
CPU(s):              16
On-line CPU(s) list: 0-15
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           8
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               183
Model name:          Intel(R) Core(TM) i9-14900KF
Stepping:            1
CPU MHz:             3187.203
BogoMIPS:            6374.40
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           768 KiB
L1i cache:           512 KiB
L2 cache:            32 MiB
L3 cache:            288 MiB
NUMA node0 CPU(s):   0-15
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves arat umip pku ospke gfni vaes vpclmulqdq rdpid md_clear flush_l1d arch_capabilities
pdsys@pdsys-PC:~/Desktop$ 

3.更新仓库源

pdsys@pdsys-PC:~/Desktop$ sudo -i
root@pdsys-PC:~# 
root@pdsys-PC:~# apt update 
命中:3 https://pro-driver-packages.uniontech.com eagle InRelease                            
命中:1 https://cdn-professional-security.chinauos.com eagle/1060 InRelease                  
命中:2 https://professional-packages.chinauos.com/desktop-professional eagle InRelease      
命中:4 https://professional-packages.chinauos.com/printer eagle InRelease                   
命中:5 https://app-store-files.uniontech.com/240315165903042/appstore eagle-pro InRelease   
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 193 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
root@pdsys-PC:~# 

4.安装依赖包和工具

pdsys@pdsys-PC:~/Desktop$ sudo -i
root@pdsys-PC:~# 
root@pdsys-PC:~# apt install make autoconf automake libtool pkg-config gcc  -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
autoconf 已经是最新版 (2.69-11)。
automake 已经是最新版 (1:1.16.1-4)。
automake 已设置为手动安装。
gcc 已经是最新版 (4:8.3.0-1)。
libtool 已经是最新版 (2.4.6.1-2+dde)。
libtool 已设置为手动安装。
make 已经是最新版 (4.2.1-1.2)。
pkg-config 已经是最新版 (0.29.1-1+dde)。
下列软件包是自动安装的并且现在不需要了:
  libutempter0 squashfs-tools x11-apps x11-session-utils xbitmaps xinit
使用'apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 193 个软件包未被升级。
root@pdsys-PC:~# 

5.下载Sysbench源码包

https://github.com/akopytov/sysbench/releases

6.将源码包放到桌面

7.解压源码包

pdsys@pdsys-PC:~/Desktop$ tar zxvf sysbench-1.0.20.tar.gz

8.源码包内容

pdsys@pdsys-PC:~/Desktop$ cd sysbench-1.0.20/
pdsys@pdsys-PC:~/Desktop/sysbench-1.0.20$ ls -ltr
总用量 152
drwxr-xr-x 5 pdsys pdsys  4096 4月  24  2020 third_party
drwxr-xr-x 4 pdsys pdsys  4096 4月  24  2020 tests
drwxr-xr-x 5 pdsys pdsys  4096 4月  24  2020 src
drwxr-xr-x 2 pdsys pdsys  4096 4月  24  2020 snap
drwxr-xr-x 2 pdsys pdsys  4096 4月  24  2020 scripts
drwxr-xr-x 2 pdsys pdsys  4096 4月  24  2020 rpm
-rw-r--r-- 1 pdsys pdsys   478 4月  24  2020 README-WIN.txt
-rw-r--r-- 1 pdsys pdsys  2069 4月  24  2020 README-Oracle.md
-rw-r--r-- 1 pdsys pdsys 16086 4月  24  2020 README.md
-rwxr-xr-x 1 pdsys pdsys  1988 4月  24  2020 mkinstalldirs
-rwxr-xr-x 1 pdsys pdsys 10266 4月  24  2020 missing
-rw-r--r-- 1 pdsys pdsys  1583 4月  24  2020 Makefile.am
drwxr-xr-x 2 pdsys pdsys  4096 4月  24  2020 m4
-rwxr-xr-x 1 pdsys pdsys  7122 4月  24  2020 install-sh
drwxr-xr-x 3 pdsys pdsys  4096 4月  24  2020 doc
drwxr-xr-x 3 pdsys pdsys  4096 4月  24  2020 debian
-rw-r--r-- 1 pdsys pdsys 18092 4月  24  2020 COPYING
-rw-r--r-- 1 pdsys pdsys 14744 4月  24  2020 configure.ac
drwxr-xr-x 2 pdsys pdsys  4096 4月  24  2020 config
-rw-r--r-- 1 pdsys pdsys 16755 4月  24  2020 ChangeLog
-rwxr-xr-x 1 pdsys pdsys  3074 4月  24  2020 autogen.sh
pdsys@pdsys-PC:~/Desktop/sysbench-1.0.20$ 

9.检查系统环境

pdsys@pdsys-PC:~/Desktop/sysbench-1.0.20$ sudo -s
请输入密码:
验证成功
root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# 
root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# ./autogen.sh

10.检查系统必要的依赖和工具

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# ./configure --without-mysql

11.自动化编译和链接过程

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# make

12.安装软件

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# make install

13.CPU性能测试

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# sysbench cpu --cpu-max-prime=20000 run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  1483.60

General statistics:
    total time:                          10.0002s
    total number of events:              14838

Latency (ms):
         min:                                    0.53
         avg:                                    0.67
         max:                                    3.54
         95th percentile:                        0.90
         sum:                                 9989.50

Threads fairness:
    events (avg/stddev):           14838.0000/0.00
    execution time (avg/stddev):   9.9895/0.00

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# 

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# sysbench cpu --cpu-max-prime=20000 run
这个命令会启动一个CPU测试,其中--cpu-max-prime=20000定义了最大的素数。你可以根据需要调整这个值。
CPU速度:测试显示每秒可以处理大约1483.60个事件。
总体统计数据:
总时间:大约10秒。
总事件数量:14838个。
延迟(毫秒):
最小值:0.53毫秒。
平均值:0.67毫秒。
最大值:3.54毫秒。
95%的百分位数:0.90毫秒。
总和:9989.50毫秒。
线程公平性:
事件(平均值/标准差):14838.0000/0.00。
执行时间(平均值/标准差):9.9895/0.00。
这些结果提供了关于CPU在执行计算密集型任务时的性能的重要信息。事件每秒(EPS)指标反映了CPU处理能力的一个方面,即在一个给定时间内完成的工作量。在这种情况下,CPU能够在10秒内完成大约14838个任务,每个任务计算一个给定范围(此处为20000)内的所有素数。

延迟统计数据提供了关于任务完成所需时间的洞察,从而帮助评估系统响应性。平均延迟0.67毫秒说明CPU能够迅速响应计算需求。

这些结果可以用作基准,用于比较不同系统或配置下的性能,或者评估系统调优和硬件升级的效果。

14.线程性能测试

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# sysbench threads --threads=10 --thread-yields=100 --thread-locks=2 run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 10
Initializing random number generator from current time


Initializing worker threads...

Threads started!


General statistics:
    total time:                          10.0004s
    total number of events:              270905

Latency (ms):
         min:                                    0.01
         avg:                                    0.37
         max:                                   14.54
         95th percentile:                        1.12
         sum:                                99842.68

Threads fairness:
    events (avg/stddev):           27090.5000/284.64
    execution time (avg/stddev):   9.9843/0.00

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# 

image.png

root@pdsys-PC:/home/pdsys/Desktop/sysbench-1.0.20# sysbench threads --threads=10 --thread-yields=100 --thread-locks=2 run
测试配置:使用了10个线程,每个线程在请求锁之前执行了100次yield操作,并且测试了2个锁。

总体统计数据:

总时间:大约10秒。
总事件数量:270905个。
延迟(毫秒)统计:

最小延迟:0.01毫秒。
平均延迟:0.37毫秒。
最大延迟:14.54毫秒。
95%的百分位数延迟:1.12毫秒。
总延迟和:99842.68毫秒。
线程公平性:

事件(平均/标准差):27090.5000/284.64。
执行时间(平均/标准差):9.9843/0.00。
结果解读:
这个测试展示了在并发场景下,线程如何在竞争资源(如锁)时表现。总事件数量和平均延迟是衡量系统并发处理能力的关键指标。

总事件数量:反映了在测试期间总共处理的事件数,这里是270905个,表明在给定的线程数和锁竞争条件下,系统能够在10秒内完成这么多的操作。

延迟:延迟的平均值、最小值、最大值和95%的百分位数给出了关于系统响应时间的信息。平均延迟0.37毫秒说明系统在处理请求时相对迅速,而最大延迟14.54毫秒可能表明存在一些较慢的操作或瞬时的资源竞争。

线程公平性:平均事件数和执行时间的标准差给出了线程之间工作分配的均匀程度。这里的标准差相对较小,表明所有线程在事件处理和执行时间上的分配相对公平。

整体来看,这个测试提供了系统在高并发条件下处理线程交互和锁竞争的性能快照。优秀的并发处理能力和低延迟对于需要高度并行处理能力的应用来说非常关键。

Sysbench是一个功能强大的系统性能评估工具,它可以帮助你了解和比较不同系统的CPU性能。无论你是系统管理员、开发人员还是普通用户,只要你在使用统信UOS或麒麟KYLINOS操作系统,就可以利用Sysbench来获取宝贵的性能数据。希望这篇文章能够帮助大家更好地理解和使用Sysbench工具。如果你觉得这篇文章有用,请不要吝啬你的分享和转发。同时,别忘了点个关注和在看,以便未来获取更多有用的技术信息和解决方案。感谢大家的阅读,我们下次再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏大圣运维

编写不易,还请支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值