转载自http://www.truevue.org/vps/unixbench-performance-test
现在大家都从共享主机慢慢转移到Linux VPS了。虽然各VPS主机提供商出售的VPS主机配置都大同小异,除了硬盘容量,带宽之外,Linux VPS性能又如何来衡量呢?这里推荐给大家一款Linux VPS性能测试软件UnixBench。
一.VPS性能测试软件Unixbench介绍
UnixBench的目的是给类Unix系统的性能提供一种基本的指标; 因此,多个测试被用于测试系统性能的各种各样的方面。 然后将这些测试结果与从基础系统的分数比较,产生一个预定值,这个预定值比原始的分数更容易处理。 综合整套系列的预定值将得出一个系统全面的索引。Unixbench包含了一些非常简单的图形测试,实现了测量系统的2D和3D图形性能。 Unixbench也能处理多处理器系统。 如果您的系统有多个CPUs,缺省行为是两次进行选择的测试 -- 一次与每个测试程序的一个拷贝每次跑,和与N一次复制,其中N是CPUs的数量。
这些设计使您能评价:当运行唯一任务时您系统的性能;多任务时您系统的性能;实施并行处理后你的系统性能的提高。
请注意unixbench是一个系统基准测试工具,不是CPU、RAM或者磁盘基准测试工具。 结果不仅依靠您的硬件,还要依靠您的操作系统,库甚至编译器。
二、UnixBench下载
UnixBench托管在Google Code上面,官方网站是: http://code.google.com/p/byte-unixbench/ 。安装使用UnixBench的流程如下
curl http://byte-unixbench.googlecode.com/files/unixbench-5.1.2.tar.gz -o unixbench-5.1.2.tar.gz
tar zxvf unixbench-5.1.2.tar.gz
cd unixbench-5.1.2
make
./Run
三、UnixBench安装注意事项:
UnixBench 1.5.2版默认打开了图形测试,如果你没有使用GUI的话,需要在Makefile里面注释掉图形图像测试:
# GRAPHICS TESTS: Uncomment the definition of "GRAPHIC_TESTS" to enable
# the building of the graphics benchmarks. This will require the
# X11 libraries on your system.
#
# Comment the line out to disable these tests.
#GRAPHIC_TESTS = defined
UnixBech编译需要gcc,如果系统没有装gcc的话需要安装一个。
apt-get install gcc
四、UnixBench测试内容:
Unixbench包含有很多单独的针对特定范围的测试,总结如下:
Dhrystone
这个基准测试使用来计算和比较计算机性能的。由于没有浮点操作,这个测试主要集中在字符串处理上。这个测试深受以下因素的影响:硬件和软件设计,编译程序和链接程序选项,代码优化 ,高速缓冲存储器, 等待状态和整数数据类型。
Whetstone
这个测试测量浮点运算速度和效率。这个测试包含几个模块,这些模块被认为是由在典型运用在科学应用中的操作组成的混合体。 各种各样的C函数,包括sin、cos、sqrt、exp和log还有整形,浮点算术操作、数组访问、条件转移和过程调用,都使用了。 整数和浮点算术,在这个测试中都会计算。
Execl Throughput
这个测试计算每秒钟出现的execl调用数。Execl是 exec 函数家族的一部分。它用一个新的进程映像更新当前的进程映像。 它和许多其他相似的命令都是execve()的前端程序。
File Copy
这个测试测量使用不同的缓冲区大小时,数据可以从一个文件被传输到另一个的速率。文件的读写复制测试可以获得在指定时间内(默认为10秒)能够读、写、复制的字符数目。
Pipe Throughput
管道是进程间通信最简单的方式之一。管道吞吐量指的是每秒中,一个进程能将512个字节数据写入管道和从管道中回读它们的次数。这个测试在真实的程序设计中并没有对应物。
Pipe-based Context Switching
这个测试是计算两个进程通过管道交换一个增长的整数的次数。基于管道的上下文切换测试更像一个真实的应用程序。这个测试产生一个可以用来继续双向管对话的子进程。
Process Creation
这个测试计算一个进程派生和收获一个马上退出的子进程的次数。由于进程创建涉及创建进程控制块和为新的进程分配内存,因此这项测试直接取决于内存带宽。这个测试一般地会用于比较各种各样的操作系统进程创建调用的执行。
Shell Scripts
这个shells scripts测试测量每秒进程能够启动和收获一组1,2,4,8个shell脚本程序的并行的拷贝的次数。The shells scripts test measures the number of times per minute a process can start and reap a set of one, two, four and eight concurrent copies of a shell scripts where the shell script. applies a series of transformation to a data file.
System Call Overhead
这个测试是估计进入和离开操作系统内核的开销。例如执行一个系统调用的开销。它由一个简单的系统组成,这个系统重复的调用getid系统调用,getid返回调用进程的进程IS号。这个测试是用执行这些调用的时间来估算进入和离开内核的开销。
Graphical Tests
这个测试提供了2D,3D的图形化测试。报告性能不仅依赖于硬件,还与你的系统是否对硬件有合适的驱动程序有关 。
五、UnixBench测试结果
下面是我的Burst上面的VPS的测试结果,大家可以参考一下:
------------------------------------------------------------------------
Benchmark Run: Sun Nov 27 2011 14:47:45 - 15:15:58
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 16731426.1 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2616.4 MWIPS (9.9 s, 7 samples)
Execl Throughput 3539.0 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 472111.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 134027.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1111487.1 KBps (30.0 s, 2 samples)
Pipe Throughput 807220.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 241082.5 lps (10.0 s, 7 samples)
Process Creation 12191.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 5490.2 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 696.3 lpm (60.1 s, 2 samples)
System Call Overhead 657156.8 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 16731426.1 1433.7
Double-Precision Whetstone 55.0 2616.4 475.7
Execl Throughput 43.0 3539.0 823.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 472111.8 1192.2
File Copy 256 bufsize 500 maxblocks 1655.0 134027.3 809.8
File Copy 4096 bufsize 8000 maxblocks 5800.0 1111487.1 1916.4
Pipe Throughput 12440.0 807220.4 648.9
Pipe-based Context Switching 4000.0 241082.5 602.7
Process Creation 126.0 12191.2 967.6
Shell Scripts (1 concurrent) 42.4 5490.2 1294.9
Shell Scripts (8 concurrent) 6.0 696.3 1160.5
System Call Overhead 15000.0 657156.8 438.1
========
System Benchmarks Index Score 893.4