Linux服务器性能压力测试

简介:

对于新采购的服务器,需要进行有必要的性能测试。这里选择UnixBench工具进行性能测试。记录如下:

1)安装使用
下面的脚本使用了最新版UnixBench5.1.3来测试,注释了关于graphic的测试项(大多数VPS都是没有显卡或者是集显,所以图像性能无需测试),运行10-30分钟后(根据CPU内核数量,运算时间不等)得出分数,越高越好。(提前将UnixBench5.1.3.tgz下载到了服务器的/root目录下了)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@ test -vm001 ~] # cat bench.sh
#! /bin/bash
PATH= /bin : /sbin : /usr/bin : /usr/sbin : /usr/local/bin : /usr/local/sbin :~ /bin
export  PATH
#===============================================================================================
#   Description:  Unixbench for Test
#===============================================================================================
# Create new soft download dir
mkdir  -p  /opt/unixbench ;
mv  /root/UnixBench5 .1.3.tgz  /opt/unixbench ;
cd  /opt/unixbench ;
# Download UnixBench5.1.3
#if [ -s UnixBench5.1.3.tgz ]; then
#  echo "UnixBench5.1.3.tgz [found]"
#else
# echo "UnixBench5.1.3.tgz not found!!!download now......"
# if ! wget -c http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz;then
#   echo "Failed to download UnixBench5.1.3.tgz,please download it to "/opt/unixbench" directory manually and rerun the install script."
#   exit 1
# fi
#fi
tar  -xzf UnixBench5.1.3.tgz;
cd  UnixBench;
yum -y  install  gcc  gcc -c autoconf  gcc -c++  time  perl-Time-HiRes
#Run unixbench
sed  -i  "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g"  . /Makefile
make ;
. /Run ;
echo  '' ;
echo  '' ;
echo  '' ;
echo  "======= Script description and score comparison completed! ======= " ;
echo  '' ;
echo  '' ;
echo  '' ;

二、测试结果
执行后返回的测试结果类似如下(该性能测试脚本大概会运行10-30分钟,需耐心等待测结果):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[root@ test -vm001 ~] # sh -x bench.sh
+ PATH= /bin : /sbin : /usr/bin : /usr/sbin : /usr/local/bin : /usr/local/sbin : /root/bin
export  PATH
mkdir  -p  /opt/unixbench
mv  /root/UnixBench5 .1.3.tgz  /opt/unixbench
cd  /opt/unixbench
tar  -xzf UnixBench5.1.3.tgz
cd  UnixBench
+ yum -y  install  gcc  gcc -c autoconf  gcc -c++  time  perl-Time-HiRes
.........
.........
make [1]: Leaving directory ` /opt/unixbench/UnixBench '
sh: 3dinfo:  command  not found
 
    #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
    #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
    #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
    #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
    #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
     ####   #    #  #  #    #          #####   ######  #    #   ####   #    #
 
    Version 5.1.3                      Based on the Byte Magazine Unix Benchmark
 
    Multi-CPU version                  Version 5 revisions by Ian Smith,
                                       Sunnyvale, CA, USA
    January 13, 2011                   johantheghost at yahoo period com
 
 
1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10
 
1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10
 
1 x Execl Throughput  1 2 3
 
1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3
 
1 x File Copy 256 bufsize 500 maxblocks  1 2 3
 
1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3
 
1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10
 
1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10
 
1 x Process Creation  1 2 3
 
1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10
 
1 x Shell Scripts (1 concurrent)  1 2 3
 
1 x Shell Scripts (8 concurrent)  1 2 3
 
========================================================================
    BYTE UNIX Benchmarks (Version 5.1.3)
 
    System:  test -vm001: GNU /Linux
    OS: GNU /Linux  -- 3.10.0-514.el7.x86_64 --  #1 SMP Tue Nov 22 16:42:41 UTC 2016
    Machine: x86_64 (x86_64)
    Language: en_US.utf8 (charmap= "UTF-8" , collate= "UTF-8" )
    CPU 0: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (4390.8 bogomips)
           x86-64, MMX, Physical Address Ext, SYSENTER /SYSEXIT , SYSCALL /SYSRET
    17:31:42 up  8:11,  6  users ,  load average: 0.14, 0.09, 0.06; runlevel 3
 
------------------------------------------------------------------------
Benchmark Run: 六 9月 16 2017 17:31:42 - 17:59:59
1 CPU  in  system; running 1 parallel copy of tests
 
Dhrystone 2 using register variables       31665236.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4345.5 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4163.9 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1091117.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          299689.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2535441.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1556494.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 362875.3 lps   (10.0 s, 7 samples)
Process Creation                              10440.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5115.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    726.5 lpm   (60.1 s, 2 samples)
System Call Overhead                        2707740.8 lps   (10.0 s, 7 samples)
 
System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   31665236.6   2713.4
Double-Precision Whetstone                       55.0       4345.5    790.1
Execl Throughput                                 43.0       4163.9    968.3
File Copy 1024 bufsize 2000 maxblocks          3960.0    1091117.9   2755.3
File Copy 256 bufsize 500 maxblocks            1655.0     299689.6   1810.8
File Copy 4096 bufsize 8000 maxblocks          5800.0    2535441.2   4371.5
Pipe Throughput                               12440.0    1556494.1   1251.2
Pipe-based Context Switching                   4000.0     362875.3    907.2
Process Creation                                126.0      10440.1    828.6
Shell Scripts (1 concurrent)                     42.4       5115.9   1206.6
Shell Scripts (8 concurrent)                      6.0        726.5   1210.8
System Call Overhead                          15000.0    2707740.8   1805.2
                                                                    ========
System Benchmarks Index Score                                        1482.1
 
echo  ''
 
echo  ''
 
echo  ''
 
echo  '======= Script description and score comparison completed! ======= '
======= Script description and score comparison completed! =======
echo  ''
 
echo  ''
 
echo  ''

注意:上面会有两个跑分结果,一个是 1 parallel process 的结果,另一个是4 parallel process 的结果 (具体可以看html里的输出)。两者的区别即一个是单进程跑,一个是多进程跑 。
默认测试完成后测试结果会存放在results目录,如下:

1
2
3
4
[root@ test -vm001 results] # pwd
/opt/unixbench/UnixBench/results
[root@ test -vm001 results] # ls
test -vm001-2017-09-16-01   test -vm001-2017-09-16-01.html   test -vm001-2017-09-16-01.log

results目录中的三个文件,第一个是和上面脚本运行的结果一样;第二个html文件是将结果以页面的形式展示出来,可以使用浏览器打开查看;第三个log文件是运行过程中的详细测试过程部分。

三、测试项目分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
测试过程中每个项目后面会有1 2 3 4 5 6 7 8 9 10 数字,意思是进行了10组测试,测试过程中部分内容及解释如下:
 
1. ***********************
Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10
此项产生于 1984,测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(?wait states)整数数据类型(integer data types)的影响
<br>2. ********************
Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10
这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列c函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。
<br>3. **************
System Call Overhead  1 2 3 4 5 6 7 8 9 10
测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。
 
4. ***************
Pipe Throughput  1 2 3 4 5 6 7 8 9 10
管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。
 
5. *************
Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10
这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。
 
6. ************
Process Creation  1 2 3
测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。
 
7. ***********
Execl Throughput  1 2 3
此测试考察每秒钟可以执行的 execl 系统调用的次数。 execl 系统调用是  exec  函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。
 
8. ***********
File copy
测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件  read 、write、copy 操作的测试统计规定时间(默认是 10s)内的文件  read 、write、copy 操作次数。
  
Filesystem Throughput 1024 bufsize 2000 maxblocks  1 2 3
 
Filesystem Throughput 256 bufsize 500 maxblocks  1 2 3
 
Filesystem Throughput 4096 bufsize 8000 maxblocks  1 2 3
 
9. **********
Shell Scripts
测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8.(我的系统上取 1, 8, 16)。这个脚本对一个数据文件进行一系列的变形操作(?transformation)。
 
Shell Scripts (1 concurrent)  1 2 3
Shell Scripts (8 concurrent)  1 2 3
Shell Scripts (16 concurrent)  1 2 3

可以对多台服务器性能进行如上测试,然后对比上面9个测试参数的结果值。 

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/7565371.html,如需转载请自行联系原作者
相关文章
|
8天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
49 7
|
11天前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
|
10天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
77 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
55 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
27天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
127 6
W9
|
2月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
203 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
74 4
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
47 0