http://benjr.tw/532 原文
雖然自己是從事 QA(Quality assurance) 相關測試工作,但對於這些工具的使用還是有很多問號,下面列出 Linux 下我常用的效能(Performance),監控(Monitor)與壓力(Stress)測試軟體.
單體效能
效能可以區分為兩個種類,一種是單體的效能(如 CPU , MEMORY , DISK , IO …),另外一種就是針對整個系統(單一伺服器 server , 單一儲存裝置 Storage 或是機櫃 Rack ),下面大部分使用的方式是透過 軟體+實際設備 的方式來進行效能測試.
除了這種方式外 QA 還會利用不同種類的電子量測設備來進行效能測試,如 Spirent (台灣代理 廣聯科技) ,IXIA (台灣代理 派恩科技), 以及其他的 立肯科技 或是 太克科技,使用電子量測設備的好處是可以比較快速看出系統在設計時有哪些瑕疵存在.
外面廠商也有專門幫你做驗證的如 百佳泰
下面是 Linux 環境下我常用的效能測試工具:
- CPU
- CPU Burn-in
只能針對單核心在做運算,不推薦使用 - Geekbench
針對 整數 (Integer performance) ,浮點數 (Floating point performance) 與 記憶體 (Memory performance)的運算(主要涵蓋了 加密,圖像處理,信號處理與物理模擬)
- CPU Burn-in
- Memory
- Intel® Memory Latency Checker
- stream memory benchmark
- java performance testing tools
- Disk
- 測試磁碟 I/O 的工具 – iometer – Quick start , iometer
- 除了 iometer 可以來測試硬碟的速度,你可以透過 hdparm 或是 dd 這是一個比較簡單的方式來看目前硬碟傳送的速度
- 以前用過 dd , hdparm 或是 Iometer 來測試 Disk I/O 的是速度,但 dd, hdparm 太過簡單,Iometer 太過老舊 ,目前看到一套 Fio – Flexible I/O Tester 測試工具.
- VDBench
- diskspd
- ATTO Disk Benchmark
- Network
- 網路效能測試工具 – iperf
- 網路效能測試工具 – qperf 功能比 iperf 要強大的多.
- Pktgen – Packet-Generation 它是一個 Linux 核心的模組,它可以以非常快的速度產生封包
- 另外一套專業級的網路效能測試工具 –IxChariot
IXIA系列的 IxAutomate, IxExplorer, IxLoad - 其他 nttcp , netperf , vdbench , Finisar Medusa Test Tool
- smartbits / TestCenter 是一套專門用來檢視網路設備的硬體檢測裝置,是由 SPIRENT 這一家公司所提供主要可以用來檢視網卡或是 switch 等網路裝置.
乙太網路的發展已經大大超過當年的儲存貴族 Fiber Channel ,40/100G Network 都已經要問世了,測試治具也有了 Spirent 40/100G Ethernet test solutions
如果透過這些工具測試出來,發現效能不好該怎麼辦,這時候可以透過 Network 效能測試與調整
系統效能
- Web Server
在架站之後,想要了解一下你的 http service (Apache) 的效能,這時候可以使用 web server 相關的效能測試程式.- ab – ApacheBench
Apache 內建的效能測試程式 – ab (Apache HTTP Server Benchmarking Tool) - httperf
- weighttp
- httpress
- siege
- Apache JMeter
- tourbus
- ab – ApacheBench
- 加解密演算法
- openssl speed
透過 SSL 的加解密演算法來看你系統的效能 (CPU 與 memory 效能測試)
- openssl speed
- 資料庫的效能評比
- TPC Benchmark™ E (TPC-E) – is a new On-Line Transaction Processing (OLTP) workload
- The TPC Benchmark™H (TPC-H) – is a decision support benchmark
- 雲端效能評比
- Google perfkit benchmarker –
Perfkit Benchmarker contains set of benchmarks to measure and compare cloud offerings. - COSBench – Cloud Object Storage Benchmark
- IBM – Rational Performance Tester
- HP – Loadrunner
- SPECjEnterprise2010
SPECjEnterprise is an end-to-end benchmark which allows performance measurement and characterization of Java EE 5 servers and supporting infrastructure such as JVM, Database, CPU, disk and servers.
- Google perfkit benchmarker –
其他待評估
Phoronix Test Suite + OpenBenchmarking
Intel® BITT
Monitor
我要怎麼知道在 Linux 下系統使用資原狀況,透過下面的的系統使用資源監控程式,可以清楚知道目前系統的狀況,一般可以區分 文字介面 與 圖形介面 兩大類.
- 文字介面
- 圖形介面
Stress
要如何在 Linux 下針對不同的 I/O 與系統做壓力測試,可以參考下面幾種方式.
- SysBench
Linux 下常見的壓力測試工具不多,而且通常很分散,要不然就是協力廠商所開發的工具需收費而且所費不貲,不過現在 Linux 下有一套比較完整的壓力測試工具 sysbench ,具有 File I/O, CPU , Memory , Threads , Mutx , OLTP 等測試. - 在 Linux 的開機光碟中有提供一支專門用來檢視記憶體模組的工具,他就是 memtest86+ – memtest86+
下面的要找時間試,但一直沒有空試.
- Bonnie++
- BurnInTest
- Iozone
- stress-ng
留言列表