使用 Unixbench5 進行linux系統服務器性能綜合測試前端
1.簡介
Unixbench是一個類unix系(Unix,BSD,Linux)統下的性能測試工具,一個開源工具,被普遍用與測試linux系統主機的性能,簡稱UB。Unixbench的主要測試項目有:系統調用、讀寫、進程、圖形化測試、2D、3D、管道、運算、C庫等系統基準性能提供測試數據。
測試項目:
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的圖形化測試。報告性能不只依賴於硬件,還與你的系統是否對硬件有合適的驅動程序有關 。
安裝
yum -y install gcc gcc-c autoconf gcc-c++ time
wget http://www.ctohome.com/linux-vps-pack/unixbench-5.1.2.tar.gz
tar xzf unixbench-5.1.2.tar.gz
cd unixbench-5.1.2
默認unixbench只支持到16cores,修改參數,取消此限制linux
sed -i "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g" ./Makefile
make; sed -i "s/\"System Benchmarks\", 'maxCopies' => 16/\"System Benchmarks\", 'maxCopies' => 0/" Run sed -i 's/$copies > $maxCopies/$maxCopies > 0 \&\& $copies > $maxCopies/' Run
for i in `seq 1 5`;do ./Run ;done