技術員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

linux中利用UnixBench進行性能測試

來源:技術員聯(lián)盟┆發(fā)布時間:2018-09-21 18:25┆點擊:

UnixBench是一款開源的測試 unix 系統(tǒng)基本性能的工具,是比較通用的測試VPS性能的工具. UnixBench會執(zhí)行一系列的測試,包括2D和3D圖形系統(tǒng)的性能衡量,測試的結果不僅僅只是CPU,內存,或者磁盤為基準,還取決于硬件,操作系統(tǒng)版本,編譯器.

 

linux中利用UnixBench進行性能測試 三聯(lián)


UnixBench是一個類unix系(Unix,BSD,Linux)統(tǒng)下的性能測試工具,一個開源工具,被廣泛用與測試linux系統(tǒng)主機的性能。Unixbench的主要測試項目有:系統(tǒng)調用、讀寫、進程、圖形化測試、2D、3D、管道、運算、C庫等系統(tǒng)基準性能提供測試數(shù)據(jù)。

  最新版本UnixBench5.1.3,包含system和graphic測試,如果你需要測試graphic,則需要修改Makefile,不要注釋掉”GRAPHIC_TESTS = defined”,同時需要系統(tǒng)提供x11perf命令gl_glibs庫。
下面的腳本使用了最新版UnixBench5.1.3來測試,注釋了關于graphic的測試項(大多數(shù)VPS都是沒有顯卡或者是集顯,所以圖像性能無需測試),運行10-30分鐘后(根據(jù)CPU內核數(shù)量,運算時間不等)得出分數(shù),越高越好。

測試方法:

wget
chmod +x unixbench.sh
./unixbench.sh

或直接把下面代碼保存成unixbench.sh

#! /bin/bash
PATH=http://www.3lian.com/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;
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 ;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 '';


測試項目:
Dhrystone 2 using register variables
此項用于測試 string handling,因為沒有浮點操作,所以深受軟件和硬件設計(hardware and software design)、編譯和鏈接(compiler and linker options)、代碼優(yōu)化(code optimazaton)、對內存的cache(cache memory)、等待狀態(tài)(wait states)、整數(shù)數(shù)據(jù)類型(integer data types)的影響。

Double-Precision Whetstone
這一項測試浮點數(shù)操作的速度和效率。這一測試包括幾個模塊,每個模塊都包括一組用于科學計算的操作。覆蓋面很廣的一系列 c 函數(shù):sin,cos,sqrt,exp,log 被用于整數(shù)和浮點數(shù)的數(shù)學運算、數(shù)組訪問、條件分支(conditional branch)和程序調用。此測試同時測試了整數(shù)和浮點數(shù)算術運算。

Execl Throughput
此測試考察每秒鐘可以執(zhí)行的 execl 系統(tǒng)調用的次數(shù)。 execl 系統(tǒng)調用是 exec 函數(shù)族的一員。它和其他一些與之相似的命令一樣是 execve() 函數(shù)的前端。

File copy
測試從一個文件向另外一個文件傳輸數(shù)據(jù)的速率。每次測試使用不同大小的緩沖區(qū)。這一針對文件 read、write、copy 操作的測試統(tǒng)計規(guī)定時間(默認是 10s)內的文件 read、write、copy 操作次數(shù)。

Pipe Throughput
管道(pipe)是進程間交流的最簡單方式,這里的 Pipe throughtput 指的是一秒鐘內一個進程可以向一個管道寫 512 字節(jié)數(shù)據(jù)然后再讀回的次數(shù)。需要注意的是,pipe throughtput 在實際編程中沒有對應的真實存在。

Pipe-based Context Switching
這個測試兩個進程(每秒鐘)通過一個管道交換一個不斷增長的整數(shù)的次數(shù)。這一點很向現(xiàn)實編程中的一些應用,這個測試程序首先創(chuàng)建一個子進程,再和這個子進程進行雙向的管道傳輸。

Process Creation
測試每秒鐘一個進程可以創(chuàng)建子進程然后收回子進程的次數(shù)(子進程一定立即退出)。process creation 的關注點是新進程進程控制塊(process control block)的創(chuàng)建和內存分配,即一針見血地關注內存帶寬。一般說來,這個測試被用于對操作系統(tǒng)進程創(chuàng)建這一系統(tǒng)調用的不同實現(xiàn)的比較。

System Call Overhead
測試進入和離開操作系統(tǒng)內核的代價,即一次系統(tǒng)調用的代價。它利用一個反復地調用 getpid 函數(shù)的小程序達到此目的。