折腾VPS的人总是会纠结一下自己的VPS性能怎么样,除了查看下VPS的系统信息之外,我们也会通过跑分软件来测试,比如使用Linux性能测试UnixBench跑分来测试。
UnixBench 是一款开源的测试 unix 系统基本性能的工具,是比较通用的测试VPS性能的工具.。UnixBench会执行一系列的测试,包括2D和3D图形系统的性能衡量,测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器.。测试系统各个方面一系列的性能,然后将每个测试结果和一个基准值进行比较,得到一个索引值,所有测试项目的索引值结合在一起形成一个测试分数值.
UNIXBENCH也是linux、unix测试系统基准性能的经典工具,UNIXBENCH测试包含了系统调用、读写、进程、2D、3D、管道、运算、C库等系统基准性能,它的优点在于提供了对系统性能的一种评价体系,为系统评分,如此方便对系统作对比测试;但UNIXBENCH在网络性能测试欠缺。
国内源:可以使用wget获取或者直接下载
网易:
Centos5: http://mirrors.163.com/.help/CentOS5-Base-163.repo
Centos6: http://mirrors.163.com/.help/CentOS6-Base-163.repo
Centos7: http://mirrors.163.com/.help/CentOS7-Base-163.repo
中科大的yum源:
Centos5: https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=1
Centos6: https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=2
Centos7: https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3
sohu的yum源:
http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
进入yum源配置目录
【cd /etc/yum.repos.d/】
下载yum源,以下载163的yum为例
【wget http://mirrors.163.com/.help/CentOS6-Base-163.repo】
下载后,将yum源配置目录下其他yum源设为不可用
【mv CentOS-Media.repo CentOS-Media.repo.bak】
接下来就可以正常使用了,
今天有在阿里云服务器跑分的时候出现"Can't locate Time/HiRes.pm in @INC"错误提示无法进行,检测是出现缺少perl Time HiRes组件造成的,并不是所有的UnixBench跑分的时候都会遇到这样的问题。
更新组件
【yum -y install perl-Time-HiRes】
下载UnixBench unixbench-5.1.2.tar.gz
安装:
unixbench5包含system和graphic测试,如果你需要测试graphic,则需要修改Makefile,不要注释掉"GRAPHIC_TESTS = defined,同时需要系统提供x11perf命令gl_glibs库。进入源包,执行【make】
使用:
执行system测试方法:Run
◆ 执行graphic测试方法:Run graphics
◆ 执行system,graphics测试方法:Run gindex
对于多cpu系统的性能测试策略,需要统计单任务,多任务及其并行的性能增强。
以4个cpu的PC为例,需要测试两次,4个CPU就是要并行执行4个copies,
【Run -c 1 -c 4】表示执行两次,第一次单个copies,第二次4个copies的测试任务。
结果分析
【System Benchmarks Index Score 171.3】
【System Benchmarks Index Score 395.7】
从上面的测试结果可以看出,但个并行的任务的得分为171.3,4个并行任务的得分为395.7。对比测试时需要关注这个值。
-
wget --no-check-certificate
https:/
/github.com/teddysun
/across/raw
/master/unixbench.sh
-
chmod +x unixbench.sh
-
./unixbench.sh
-
#! /bin/bash
-
#==============================================================#
-
# Description: Unixbench script #
-
# Author: Teddysun #
-
# Intro: https://teddysun.com/245.html #
-
#==============================================================#
-
cur_dir=/opt/unixbench
-
-
# Check System
-
[[
$EUID -ne 0 ]] &&
echo
'Error: This script must be run as root!' &&
exit 1
-
[[ -f /etc/redhat-release ]] && os=
'centos'
-
[[ ! -z
"`egrep -i debian /etc/issue`" ]] && os=
'debian'
-
[[ ! -z
"`egrep -i ubuntu /etc/issue`" ]] && os=
'ubuntu'
-
[[
"$os" ==
'' ]] &&
echo
'Error: Your system is not supported to run it!' &&
exit 1
-
-
# Install necessary libaries
-
if [
"$os" ==
'centos' ];
then
-
yum -y install make automake gcc autoconf gcc-c++ time perl-Time-HiRes
-
else
-
apt-get -y update
-
apt-get -y install make automake gcc autoconf time perl
-
fi
-
-
# Create new soft download dir
-
mkdir -p
${cur_dir}
-
cd
${cur_dir}
-
-
# 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://dl.teddysun.com/files/UnixBench5.1.3.tgz;
then
-
echo
"Failed to download UnixBench5.1.3.tgz, please download it to ${cur_dir} directory manually and try again."
-
exit 1
-
fi
-
fi
-
tar -zxvf UnixBench5.1.3.tgz && rm -f UnixBench5.1.3.tgz
-
cd UnixBench/
-
-
#Run unixbench
-
make
-
./Run
-
-
echo
-
echo
-
echo
"======= Script description and score comparison completed! ======= "
-
echo
-
echo
Run用法
Run [ -q | -v ] [-i
选项说明:
-q 不显示测试过程
-v 显示测试过程
-i
-c
备注:-c选项可以用来执行多次,如: Run -c 1 -c 4表示执行两次,第一次单个copies,第二次4个copies的测试任务。
test:
-
arithmetic Runs arithoh,
short, int,
long, float,
double,
-
and whetstone-
double
-
dhry
Alias
for dhry2reg
-
dhrystone
Alias
for dhry2reg
-
whets
Alias
for whetstone-
double
-
whetstone
Alias
for whetstone-
double
-
load Runs shell1, shell8,
and shell16
-
misc Runs C, dc,
and hanoi
-
speed Runs the arithmetic
and system groups
-
oldsystem Runs execl, fstime, fsbuffer, fsdisk, pipe, context1,
-
spawn,
and syscall
-
system Runs oldsystem plus shell1, shell8,
and shell16
-
fs Runs fstime-w, fstime-r, fstime, fsbuffer-w,
-
fsbuffer-r, fsbuffer, fsdisk-w, fsdisk-r,
and fsdisk
-
shell Runs shell1, shell8,
and shell16
-
-
index Runs the tests which constitute the official index:
-
the oldsystem
group, plus dhry2reg, whetstone-
double,
-
shell1,
and shell8
-
See
"The BYTE Index" below
for more information.
-
graphics Runs the tests which constitute the graphics index:
-
2d-rects,
2d-ellipse,
2d-aashapes,
2d-
text,
2d-blit,
-
2d-window,
and ubgears
-
gindex Runs the index
and graphics groups,
to generate both
-
sets
of index results
-
-
all Runs all tests