幾款優秀的Linux基准測試工具


CSDN GitHub
幾款優秀的Linux基准測試工具 AderXCoding/system/tools/benchmark

知識共享許可協議
本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可, 轉載請注明出處, 謝謝.

1 性能基准測試工具


基准測試是指運行計算機程序去評估硬件和軟件性能的行為. 硬件基本測試包括評估處理器, 內存, 顯卡, 硬盤, 網絡等不同組件的性能.

基准測試有兩類 : 復合和應用

  • 復合基准對一個硬件執行壓力測試, 如連續寫入和讀取數據. 應用基准則是衡量真實世界應用程序如數據庫和服務器的性能.

  • 基准測試軟件可以讓系統測試者和用戶客觀獨立的評估硬件性能.

依據其測試類型的不同可以分為 基准性能測試, 文件 I/O 性能測試, 網絡性能測試, 以及多功能的性能測試工具

Linux下有許多優秀的開源Linux基准測試工具, 如Phoronix Test SuiteIOzonenetperf等,

2 標准的性能基准測試工具


benchmark 描述
sysbench sysbench 是一款開源的多線程性能測試工具, 可以執行 CPU/內存/線程/IO/數據庫等方面的性能測試. 簡介數據庫目前支持 MySQL/Oracle/PostgreSQL
hackbench 源碼下載地址 hackbench.c, 改進的用於測試調度器性能的 benchmark 工具, 就一個源文件,編譯后運行即可, 手冊
unixbench 一個用於測試unix系統性能的工具,也是一個比較通用的benchmark, 此測試的目的是對類Unix 系統提供一個基本的性能指示, 參見Linux性能測試工具-UnixBench–安裝以及結果分析
CineBench 很有說服力的一套CPU和顯卡測試系統
GreekBench Geekbench測試你的計算機的CPU處理器和內存性能
LLCbench (底層表征基准測試 ow-Level Characterization Benchmarks) 是一個基准測試工具,集成了 MPBench, CacheBench, 和 BLASBench 測試方法
HardInfo 一個Linux系統信息查看軟件. 它可以顯示有關的硬件, 軟件, 並進行簡單的性能基准測試
GtkPerf 是一種應用程序設計,測試基於GTK +的性能

參見

六款優秀的 Linux 基准測試工具

3 文件 I/O 性能基准測試工具


benchmark 描述
iozone iozone 是一款 Linux 文件系統性能測試工具. 它可以測 Reiser4, ext3, ext4
iometer Iometer 是一個工作在單系統和集群系統上用來衡量和描述 I/O 子系統的工具
bonnie++ Bonnie++ 是一個用來測試 UNIX 文件系統性能的測試工具, 主要目的是為了找出系統的性能瓶頸, 其名字來源於作者喜愛的歌手 Bonnie Raitt
dbench Dbench和Tbench是用來模擬工業標准的Netbench負載測試工具來評估文件服務器的測試工具

參見bonnie++、dbench、iozone工具

4 網絡性能測試工具


Netperf 是一種網絡性能的測量工具, 主要針對基於 TCP或UDP 的傳輸

Netperf 是一種網絡性能的測量工具, 主要針對基於 TCP 或 UDP 的傳輸.

Netperf 根據應用的不同, 可以進行不同模式的網絡性能測試, 即批量數據傳輸(bulk data transfer)模式和請求/應答(request/reponse)模式

Netperf 測試結果所反映的是兩個系統之間發送和接受數據的速度和效 率。

Netperf工具是基於C/S模式的。server端是netserver,用來偵聽來自client端的連接,client 端是netperf,用來向server發起網絡測試。在client與server之間,首先建立一個控制連接,傳遞有關測試配置的信息,以及測試的結 果;在控制連接建立並傳遞了測試配置信息以后,client與server之間會再建立一個測試連接,用來來回傳遞着特殊的流量模式,以測試網絡的性能。

5 基准測試工具套件


工具 描述
Phoronix Test Suite 知名評測機構 Phoronix 提供的 linux 平台測試套件
perf Linux內核中的系統性能調優工具, Perf Event 是一款隨 Linux 內核代碼一同發布和維護的性能診斷工具,由內核社區維護和發展。Perf 不僅可以用於應用程序的性能統計分析,也可以應用於內核代碼的性能統計和分析。得益於其優秀的體系結構設計,越來越多的新功能被加入 Perf,使其已經成為一個多功能的性能統計工具集 。在第一部分,將介紹 Perf 在應用程序開發上的應用
rt-tests “Cyclictest is a high resolution test program, written by User:Tglx, maintained by User:Clark Williams”, 也就是它是一個高精度的測試程序, Cyclictest 是 rt-tests 下的一個測試工具, 也是 rt-tests 下使用最廣泛的測試工具, 一般主要用來測試使用內核的延遲, 從而判斷內核的實時性.

5.1 phoronix.com


phoronix.com 是業內一個知名的網站,其經常發布硬件性能測評以及 Linux 系統相關的性能測評, Phoronix Test Suite 為該網站旗下的 linux 平台測試套件, Phoronix 測試套件遵循 GNU GPLv3 協議. Phoronix Test Suite 默認是通過命令行來的進行測試的, 但也可以調用GUIPhoronix Test Suite 還提供了上傳測試結果的服務,也就說你可以把你的測試結果上傳在網上,從而可以和別的 Linux 用戶測出來的結果進行對比.

5.2 內核中的Perf


Perf 是用來進行軟件性能分析的工具.

通過它, 應用程序可以利用 PMU, tracepoint 和內核中的特殊計數器來進行性能統計. 它不但可以分析指定應用程序的性能問題 (per thread), 也可以用來分析內核的性能問題, 當然也可以同時分析應用代碼和內核, 從而全面理解應用程序中的性能瓶頸.

最初的時候, 它叫做 Performance counter, 在 2.6.31 中第一次亮相. 此后他成為內核開發最為活躍的一個領域. 在 2.6.32 中它正式改名為 Performance Event, 因為 perf 已不再僅僅作為 PMU 的抽象, 而是能夠處理所有的性能相關的事件.

使用 perf, 您可以分析程序運行期間發生的硬件事件. 比如 instructions retiredprocessor clock cycles 等; 您也可以分析軟件事件, 比如 Page Fault 和進程切換.

這使得 Perf 擁有了眾多的性能分析能力. 舉例來說, 使用 Perf 可以計算每個時鍾周期內的指令數, 稱為 IPCIPC 偏低表明代碼沒有很好地利用 CPUPerf 還可以對程序進行函數級別的采樣, 從而了解程序的性能瓶頸究竟在哪里等等. Perf 還可以替代 strace, 可以添加動態內核 probe 點, 還可以做 benchmark 衡量調度器的好壞.

人們或許會稱它為進行性能分析的”瑞士軍刀” 和 “倚天劍”.

5.3 rt-tests


cyclictest測試內核的性能, 包括了 hackbenchcyclictest 等多個 benchmark 工具

Cyclictest的維基主頁這么介紹它“Cyclictest is a high resolution test program, written by User:Tglx, maintained by User:Clark Williams ”,也就是它是一個高精度的測試程序,Cyclictest 是 rt-tests 下的一個測試工具,也是rt-tests 下使用最廣泛的測試工具,一般主要用來測試使用內核的延遲,從而判斷內核的實時性.

參見

cyclictest 簡介以及安裝

cyclictest 的使用


知識共享許可協議
本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可, 轉載請注明出處, 謝謝.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM