云主机性能测试参考.docx
《云主机性能测试参考.docx》由会员分享,可在线阅读,更多相关《云主机性能测试参考.docx(15页珍藏版)》请在冰豆网上搜索。
云主机性能测试参考
云主机性能测试参考
深圳市宝德软件开发有限公司
1.
测试环境
云主机配置:
2核/4G/500G云硬盘
操作系统:
CentOS6.x64bit
网络接入:
被测云主机接入带宽为5M/bps
测试工具:
要求版本一样
2.计算能力
2.1.测试工具
2.1.1.UnixBench跑分基准测试工具
UnixBench是一个unix类(Unix,BSD,Linux)系统下的性能跑分基准测试开源工具,被广泛用于测试linux系统主机的性能。
Unixbench的主要测试项目有:
系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。
2.2.测试方法
1)新建UnixBench.sh脚本
本测试使用unixbench.sh脚本安装UnixBench5.1.3,UnixBench5.1.3包含system和graphic测试,该脚本注释了关于graphic的测试项(大多数云主机都是没有显卡或者是集显,所以图像性能无需测试)。
如果你需要测试graphic,则需要修改unixbench.sh,注释掉“sed-i"s/GRAPHIC_TESTS=defined/#GRAPHIC_TESTS=defined/g"./Makefile”,同时需要系统提供x11perf命令gl_glibs库。
$viunixbench.sh
#!
/bin/bash
PATH=/bin:
/sbin:
/usr/bin:
/usr/sbin:
/usr/local/bin:
/usr/local/sbin:
~/bin
exportPATH
#Createnewsoftdownloaddir
mkdir-p/opt/unixbench;
cd/opt/unixbench;
cur_dir=`pwd`
#DownloadUnixBench5.1.3
if[-sUnixBench5.1.3.tgz];then
echo"UnixBench5.1.3.tgz[found]"
else
echo"UnixBench5.1.3.tgznotfounddownloadnow......"
if!
wget-c
echo"FailedtodownloadUnixBench5.1.3.tgz,pleasedownloaditto"${cur_dir}"directorymanuallyandtryagain."
exit1
fi
fi
tar-xzfUnixBench5.1.3.tgz;
cdUnixBench;
yum-yinstallgccgcc-cautoconfgcc-c++timeperl-Time-HiRes
#Rununixbench
sed-i"s/GRAPHIC_TESTS=defined/#GRAPHIC_TESTS=defined/g"./Makefile
make;
./Run-c1-c4;
2)执行脚本,会自动安装好UnixBench5.1.3并开始运行测试,运行30分钟左右得出分数,分数越高,性能越好。
$chmod+xunixbench.sh
$./unixbench.sh
2.3.测试结果
采用unix系统跑分基准测试工具Unixbench做基本的测试。
测试云服务器的配置为2核4G,单进程测试(1parallelcopyoftests)的结果是1338.8,多进程测试(4parallelcopyoftests)的结果是2458.5。
========================================================================
BYTEUNIXBenchmarks(Version5.1.3)
System:
host-192-168-1-147:
GNU/Linux
OS:
GNU/Linux--2.6.32-431.el6.x86_64--#1SMPFriNov2203:
15:
09UTC2013
Machine:
x86_64(x86_64)
Language:
en_US.utf8(charmap="UTF-8",collate="UTF-8")
CPU0:
IntelXeonE312xx(SandyBridge)(4400.0bogomips)
x86-64,MMX,PhysicalAddressExt,SYSENTER/SYSEXIT,SYSCALL/SYSRET
CPU1:
IntelXeonE312xx(SandyBridge)(4400.0bogomips)
x86-64,MMX,PhysicalAddressExt,SYSENTER/SYSEXIT,SYSCALL/SYSRET
00:
16:
22up42min,2users,loadaverage:
0.47,0.11,0.03;runlevel3
------------------------------------------------------------------------
BenchmarkRun:
WedJul22201500:
16:
22-00:
44:
33
2CPUsinsystem;running1parallelcopyoftests
Dhrystone2usingregistervariables28300652.2lps(10.0s,7samples)
Double-PrecisionWhetstone3075.9MWIPS(9.8s,7samples)
ExeclThroughput3326.7lps(29.9s,2samples)
FileCopy1024bufsize2000maxblocks832947.6KBps(30.0s,2samples)
FileCopy256bufsize500maxblocks241414.3KBps(30.0s,2samples)
FileCopy4096bufsize8000maxblocks2299407.3KBps(30.0s,2samples)
PipeThroughput1618215.7lps(10.0s,7samples)
Pipe-basedContextSwitching292853.2lps(10.0s,7samples)
ProcessCreation9220.4lps(30.0s,2samples)
ShellScripts(1concurrent)5673.0lpm(60.0s,2samples)
ShellScripts(8concurrent)1259.6lpm(60.0s,2samples)
SystemCallOverhead1990195.4lps(10.0s,7samples)
SystemBenchmarksIndexValuesBASELINERESULTINDEX
Dhrystone2usingregistervariables116700.028300652.22425.1
Double-PrecisionWhetstone55.03075.9559.2
ExeclThroughput43.03326.7773.7
FileCopy1024bufsize2000maxblocks3960.0832947.62103.4
FileCopy256bufsize500maxblocks1655.0241414.31458.7
FileCopy4096bufsize8000maxblocks5800.02299407.33964.5
PipeThroughput12440.01618215.71300.8
Pipe-basedContextSwitching4000.0292853.2732.1
ProcessCreation126.09220.4731.8
ShellScripts(1concurrent)42.45673.01338.0
ShellScripts(8concurrent)6.01259.62099.4
SystemCallOverhead15000.01990195.41326.8
========
SystemBenchmarksIndexScore1338.8
------------------------------------------------------------------------
BenchmarkRun:
WedJul22201500:
44:
33-01:
12:
46
2CPUsinsystem;running4parallelcopiesoftests
Dhrystone2usingregistervariables57916393.7lps(10.0s,7samples)
Double-PrecisionWhetstone12333.8MWIPS(9.9s,7samples)
ExeclThroughput8709.4lps(29.7s,2samples)
FileCopy1024bufsize2000maxblocks1067976.5KBps(30.0s,2samples)
FileCopy256bufsize500maxblocks285098.9KBps(30.0s,2samples)
FileCopy4096bufsize8000maxblocks3225525.6KBps(30.0s,2samples)
PipeThroughput3327665.2lps(10.0s,7samples)
Pipe-basedContextSwitching604221.7lps(10.0s,7samples)
ProcessCreation22253.2lps(30.0s,2samples)
ShellScripts(1concurrent)10234.2lpm(60.0s,2samples)
ShellScripts(8concurrent)1365.0lpm(60.2s,2samples)
SystemCallOverhead3204334.1lps(10.0s,7samples)
SystemBenchmarksIndexValuesBASELINERESULTINDEX
Dhrystone2usingregistervariables116700.057916393.74962.8
Double-PrecisionWhetstone55.012333.82242.5
ExeclThroughput43.08709.42025.4
FileCopy1024bufsize2000maxblocks3960.01067976.52696.9
FileCopy256bufsize500maxblocks1655.0285098.91722.7
FileCopy4096bufsize8000maxblocks5800.03225525.65561.3
PipeThroughput12440.03327665.22675.0
Pipe-basedContextSwitching4000.0604221.71510.6
ProcessCreation126.022253.21766.1
ShellScripts(1concurrent)42.410234.22413.7
ShellScripts(8concurrent)6.01365.02275.0
SystemCallOverhead15000.03204334.12136.2
========
SystemBenchmarksIndexScore2458.5
3.
存储IO能力
3.1.测试工具
DD命令行工具
FIO是一个用来对硬件进行压力测试和验证I/O的工具,支持13种不同的I/O引擎,包括:
sync,mmap,libaio,posixaio,SGv3,splice,null,network,syslet,guasi,solarisaio等等。
3.2.测试方法
3.2.1.DD测试
DD顺序写
ddif=/dev/zeroof=1.imgbs=4096count=2Mconv=fdatasync
DD顺序读
ddof=/dev/nullif=1.imgbs=4096
3.2.2.FIO测试
宝德云主机系统镜像已安装FIO工具,可以直接使用。
3.22.1.FIO测试系统盘
1)在/root目录下新建测试目录datadisk,
2)创建fio_sys.conf配置文件。
(该配置文件的测试路径已指定为步骤1所新建的目录:
/root/datadisk,若测试其他路径请修改directory的值)
$cat>>fio_sys.conf<[global]
ioengine=libaio
direct=1
thread=1
norandommap=1
randrepeat=0
runtime=60
ramp_time=6
size=512m
directory=/root/datadisk
[read4k-rand]
stonewall
group_reporting
bs=4k
rw=randread
numjobs=8
iodepth=32
[read64k-seq]
stonewall
group_reporting
bs=64k
rw=read
numjobs=4
iodepth=8
[write4k-rand]
stonewall
group_reporting
bs=4k
rw=randwrite
numjobs=2
iodepth=4
[write64k-seq]
stonewall
group_reporting
bs=64k
rw=write
numjobs=2
iodepth=4
EOF
3)执行测试
$fiofio_sys.conf
3.2.2.2.FIO测试云硬盘
1)挂载云硬盘到/home目录后,在/home下新建测试目录datadisk,
2)创建fio_disk.conf配置文件。
(该配置文件的测试路径已指定为步骤1所新建的目录:
/home/datadisk,若测试其他路径请修改directory的值)
$cat>>fio_disk.conf<[global]
ioengine=libaio
direct=1
thread=1
norandommap=1
randrepeat=0
runtime=60
ramp_time=6
size=512m
directory=/home/datadisk
[read4k-rand]
stonewall
group_reporting
bs=4k
rw=randread
numjobs=8
iodepth=32
[read64k-seq]
stonewall
group_reporting
bs=64k
rw=read
numjobs=4
iodepth=8
[write4k-rand]
stonewall
group_reporting
bs=4k
rw=randwrite
numjobs=2
iodepth=4
[write64k-seq]
stonewall
group_reporting
bs=64k
rw=write
numjobs=2
iodepth=4
EOF
3)执行测试
$fiofio_disk.conf
3.3.测试结果
DD
IOPS
云主机配置
顺序读(MB/s)
顺序写(MB/s)
4K随机读
4K随机写
64K顺序读
64K顺序写
2核/4G/系统盘
261MB/s
307MB/s
1152
1543
2573
3663
2核/4G/500G云硬盘
76.1MB/s
97.3MB/s
16712
1093
4141
895
4.
网络I/O能力
4.1.测试工具
PING值测试
看服务器的基本返回数据和响应时间。
响应速率越小,速度越好。
Netperf
Netperf工具以client/server方式工作。
server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。
在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
4.2.测试方法
4.2.1.PING值测试
在线ping小工具
4.2.2.Netperf
Netperf测试必须关闭所有的防火墙:
●关闭系统防火墙
●在云平台中的防火墙规则中添加ALLTCP、ALLUDP进口和出口规则
客户端和服务端都必须安装Netperf
$wget-cftp:
//perf.org/netperf/netperf-2.7.0.tar.gz
$tar-xvfnetperf-2.7.0.tar.gz
$cdnetperf-2.7.0
$./configure
$make
$makeinstall
netperf常用的全局参数有:
∙-hhelp
∙-H指定server端IP
∙-t指定测试类型,包括TCP_STREAM、TCP_RR、UDP_STREAM、UDP_RR4种。
∙-l指定测试时间,单位是秒。
服务器端执行:
(ip:
58.67.219.89)
[root@netservernetperf-2.7.0]#netserver
Startingnetserverwithhost'IN(6)ADDR_ANY'port'12865'andfamilyAF_UNSPEC
[root@test-1netperf-2.7.0]#
客户端运行
TCP_STREAM
[root@netclientnetperf-2.7.0]#netperf-H58.67.219.89-l20-tTCP_STREAM
MIGRATEDTCPSTREAMTESTfrom0.0.0.0(0.0.0.0)port0AF_INETto58.67.219.89()port0AF_INET
RecvSendSend
SocketSocketMessageElapsed
SizeSizeSizeTimeThroughput
bytesbytesbytessecs.10^6bits/sec
87380163841638420.714.95
测试结果表明,在路由器总带宽为5Mbps的环境下,云主机的TCP带宽为4.95Mbps。
TCP_RR
[root@netclientnetperf-2.7.0]#netperf-H58.67.219.89-l20-tTCP_RR
MIGRATEDTCPREQUEST/RESPONSETESTfrom0.0.0.0(0.0.0.0)port0AF_INETto58.67.219.89()port0AF_INET:
firstburst0
Local/Remote
SocketSizeRequestResp.ElapsedTrans.
SendRecvSizeSizeTimeRate
bytesBytesbytesbytessecs.persec
16384873801120.001534.33
1638487380
测试结果中,第一行是本地统计结果,第二行是远端统计结果,Request和Response报文大小都是1个字节,C/S两端每秒的transaction次数是1534.33。
UDP_STREAM
[root@netclientnetperf-2.7.0]#netperf-tUDP_STREAM-H58.67.219.89---m1024-R1
MIGRATEDUDPSTREAMTESTfrom0.0.0.0(0.0.0.0)port0AF_INETto58.67.219.89()port0AF_INET
SocketMessageElapsedMessages
SizeSizeTimeOkayErrorsThroughput
bytesbytessecs##10^6bits/sec
124928102410.007191170589.07
12492810.0060704.97
第一行结果是本地的发送统计,也就是本地发送UDP的吞吐量为589.07Mbps,第二行是server端的接收统计,吞吐量为4.97Mbps。
UDP_RR
[root@netclientnetperf-2.7.0]#netperf-H58.67.219.89-l20-tUDP_RR-l20---R1
MIGRATEDUDPREQUEST/RESPONSETESTfrom0.0.0.0(0.0.0.0)port0AF_INETto58.67.219.89()port0AF_INET:
firstburst0
Local/Remote
SocketSizeRequestRes