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

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

linux中利用UnixBench進(jìn)行性能測(cè)試

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

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

 

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


UnixBench是一個(gè)類(lèi)unix系(Unix,BSD,Linux)統(tǒng)下的性能測(cè)試工具,一個(gè)開(kāi)源工具,被廣泛用與測(cè)試linux系統(tǒng)主機(jī)的性能。Unixbench的主要測(cè)試項(xiàng)目有:系統(tǒng)調(diào)用、讀寫(xiě)、進(jìn)程、圖形化測(cè)試、2D、3D、管道、運(yùn)算、C庫(kù)等系統(tǒng)基準(zhǔn)性能提供測(cè)試數(shù)據(jù)。

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

測(cè)試方法:

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 '';


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

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

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

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

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

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

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

System Call Overhead
測(cè)試進(jìn)入和離開(kāi)操作系統(tǒng)內(nèi)核的代價(jià),即一次系統(tǒng)調(diào)用的代價(jià)。它利用一個(gè)反復(fù)地調(diào)用 getpid 函數(shù)的小程序達(dá)到此目的。