本文介紹了多款,linux系統下,伺服器測試軟體。其中有很多不對的地方,請讀者指正。
一 SPEC2000
SPEC CPU2000是由標準效能評價機構“The Standard Performance Evaluation Corporation (SPEC)”開發的用於評測CPU效能的基準程式測試組。處理器、記憶體和編譯器都會影響最終的測試結果,而I/O(磁碟)、網路、作業系統和圖形子系統對SPEC CPU2000的影響非常小。目前,SPEC CPU2000是業界首選的CPU評測工具。
SPEC CPU2000包括CINT2000和CFP2000兩套基準測試程式,前者用於測量和對比CPU的定點效能,後者用於測量和對比浮點效能。CINT2000包含12個測試專案,CFP2000包含14個測試專案.
主要涉及到的硬體模組:CPU、DDR、編譯器
常用參數:
二 SPEC2006
和SPEC CPU 2000 一樣,SPEC CPU 2006 包括了
CINT2006 和C FP2006 兩個子項目,前者用於測量和對比整數效能,而後者則用於測量和
對比浮點效能,SPEC CPU 2006 中對SPEC CPU 2000 中的一些測試進行了升級,並拋棄/
加入了一些測試,因此兩個版本測試得分並沒有可比較性。
常用參數說明
| runspec -c linux-mipsel-gcc -i test -n 1 all |
runspec |
runspec 表示執行SPEC CPU2000基準程式開始進行測試 |
| -c |
讀取測試組態檔案,test.cfg位於SPEC CPU2000安裝目錄的config目錄下 |
| -i |
輸入測試資料集的大小,ref代表最大測試資料集,test代表最小測試資料集 |
| -n |
每個測試專案啟動並執行次數,如果需要SPEC CPU2000自動計算測試分值,需要指定運行次數等於或大於3,即n>=3 |
| l |
測試過程中如果某個用例發生錯誤,則跳過錯誤用例,繼續執行其他用例,如果不加該參數,程式運行過程出現錯誤時,SPEC CPU2000將停止測試 |
| all |
SPEC CPU2006將運行基準測試程式中的所有測試專案 |
| linux-mipsel-gcc:設定檔 包括硬體 軟體、以及其他配置等 |
HW config |
HW config hw_cpu_name = Loongson hw_model = 3A hw_cpu_mhz = 800 hw_fpu = Integrated hw_nchips = 1 hw_ncores = 4 hw_ncoresperchip= 4 hw_nthreads = 1 hw_ncpuorder = 1 hw_parallel = no hw_pcache = 64KB I + 64KB D hw_scache = 4MB(I + D) hw_memory = 2 x 1GB DDR333 hw_vendor = ICT |
| SW config |
sw_os = Debian sw_file = ext3 sw_state = runlevel 3 sw_compiler = gcc , g++ & gfortran 4.3 |
| 其他配置 |
暫不一一列舉 |
三 Dbench
Dbench 是一個很類比檔案服務測試載入器,通過產生I/O 負載來測試本地檔案系統或者
網路檔案系統。使用了 18 種不同類型的 I/O 調用,包括開啟檔案、讀、寫、鎖定、解鎖、擷取檔案屬性、設定檔案屬性、關閉、擷取磁碟可用空間、擷取檔案時間、設定檔案時間、“尋找”開啟、“尋找”下一個、“尋找”關閉、重新命名檔案、刪除檔案、建立新檔案和清空檔案緩衝區。
dbench 可以類比任何數量的客戶機,而不必進行物理設定。dbench 只產生檔案系統負載,它沒有連網調用。運行期間,每個客戶機記錄所移動的資料位元組數並將該數除以移動該資料所需的時間量。然後累加所有的客戶機輸送量數以確定該伺服器的總輸送量。總的 I/O 輸送量分數表示測試期間每秒鐘所傳送的MB數。這個測量說明該伺服器對來自客戶機的檔案請求的處理品質。
dbench 非常適合於對超執行緒的測試,因為它對 CPU 和 I/O 發送器建立了大量負載和活動。dbench 可以嚴格測試超執行緒支援多線程檔案服務的能力,因為客戶機同時建立和訪問許多檔案。每個客戶機必須建立相當於大約 21 MB的測試資料檔案。對於要運行 20 個客戶機的測試,預計要大約 420 MB的資料。對於測量 Linux 檔案系統所用的電梯演算法效能,dbench 被認為是非常不錯的測試方法。dbench 用於測試該演算法的工作正確性,並測試電梯的反應是否足夠快速。它還是很有趣的頁面替換測試。
client.txt的檔案來自網路嗅探器轉儲一個真正的NetBench運行。 client.txt約4MB,包含了90000次操作一個的NetBench用戶端做在NetBench中一個典型的運行。它們解析client.txt,並用它來生產相同的負載,達到類比任意數量的並發用戶端的目的
dbench只產生的檔案系統負載。它所有的相同的IO調用,不同於Samba smbd伺服器面臨著NetBench運行,它沒有網路調用。
tbench:產生的TCP和處理負載。它的作用是相同的插座SMBD會進行NetBench負載的調用。它沒有檔案系統通話。背後的想法是tbench在NetBench
測試中消除smbd,雖然SMBD代碼可以infinately加速。 “輸送量的tbench結果顯示NetBench運行速度。
主要設計到的硬體模組:CPU、IO、SATA
參數設定參考:
| -v |
顯示版本 |
| -t |
設定已耗用時間 |
| -D |
在基礎目錄下運行 |
| -c |
設定load檔案的路徑 |
| -s |
同步IO檔案 |
| -S |
同步IO檔案夾 |
| -x |
設定支援EA |
| -T |
為tbench設定通訊端選項 |
| nproces |
clients 數量 |
四 unixbench
UNIXBENCH 也是linux、unix 測試系統基準效能的經典工具,UNIXBENCH 測試包含
了系統調用、讀寫、進程、2D、3D、管道、運算、C 庫等系統基準效能,它的優點在於提
供了對系統效能的一種評價體系,為系統評分,如此方便對系統作對比測試;但UNIXBENCH
在網路效能測試欠缺。 UNIXBENCH 測試內容包含了system、2D、3D、misc 測試項。system
測試系統的一些準系統;2D 測試2D 圖形加速;3D 測試3D 加速;misc 測試諸如字元,
整型等測試。
其中設計到測試模組,
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
測量每秒進程能夠啟動和收穫一組1,2,4,8個shell指令碼程式的並行的拷貝的次數。
System Call Overhead
這個測試是估算進入和離開作業系統核心的開銷。例如執行一個系統調用的開銷。它由一個簡單的系統組成,這個系統重複的調用getid系統調用,getid返回調用進程的進程IS號。這個測試是用執行這些調用的時間來估算進入和離核的開銷。
Graphical Tests
這個測試提供了2D,3D的圖形化測試。報告效能不僅依賴於硬體,還與系統是否對硬體有合適的驅動程式有關 。
測試涉及到硬體模組包括:CPU 、記憶體、顯卡、系統(編譯器、檔案傳輸等)
參數設定如下:
| |
./Run |
運行一個標準的“指數”的測試(“位元組指數”),將報告儲存在“結果”目錄下 |
| |
./Run gindex |
產生系統的基本指標和圖形指數 |
| |
說明 |
一個以上的CPU,測試將被運行兩次 - 一次單一個拷貝的每個測試回合一次,而一旦與N份,其中N是的CPU的數量。有些類別的測試,但是(目前圖形測試)將只運行一個單一的副本。 因為測試是根據一定時間(變數工作),“系統”運行通常需要約29分鐘的“圖形”部分約18分鐘。A“gindex一個雙核的機器上運行”2“系統”通過(單和雙重處理的)和一個“圖形”運行,共約15分鐘。 |
| 參數設定 |
-q |
quiet模式運行 |
| -v |
verbose模式運行 |
| -i(count) |
運行圈數,至少為1,預設為10 |
| -c(n) |
一次測試回合的指令碼數,-c可以多次使用如: ./Run -c 1 -c 4 |
| Run檔案自我裝載項 |
system |