Linux性能測(cè)試實(shí)踐

前言

Linux性能測(cè)試、監(jiān)控、優(yōu)化是一個(gè)持續(xù)的過程,上圖為L(zhǎng)inuxCon上Brendan D. Gregg分享的Linux benchmarking tools示意圖,涵蓋面十分廣泛。我們可以通過成熟的監(jiān)控方案如BMC Patrol,Zabbix來捕獲大部分信息,在實(shí)際工作中我們會(huì)經(jīng)常關(guān)注I/O性能,一般可以使用dd/ORION/IOzone做簡(jiǎn)單的測(cè)試,如果需要獲取更加全面詳細(xì)的報(bào)告可以使用nmon,本文將主要介紹Super PI /dd/nmon三種簡(jiǎn)單而有效的監(jiān)測(cè)方法。

CPU | Memory | I/O | Network 一個(gè)都不能少


更新記錄

2015年03月06日 - 初稿

閱讀原文 - http://wsgzao.github.io/post/linux-performance/

擴(kuò)展閱讀


CPU

確認(rèn)CPU型號(hào)

cat /proc/cpuinfo |grep "model name"|uniq|cut -f2 -d:
   
Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

Super PI

計(jì)算時(shí)間越短越好


time echo "scale=500;4*a(1)"|bc -l -q
   
3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
28810975665933446128475648233786783165271201909145648566923460348610\
45432664821339360726024914127372458700660631558817488152092096282925\
40917153643678925903600113305305488204665213841469519415116094330572\
70365759591953092186117381932611793105118548074462379962749567351885\
75272489122793818301194912
   
real    0m0.081s
user    0m0.076s
sys     0m0.000s

Disk

清空緩存

每次做讀寫測(cè)試前建議先清空緩存

sync; echo 3 > /proc/sys/vm/drop_caches

測(cè)試讀性能

選擇測(cè)試磁盤,建議做2-3組取平均值

hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads:  1074 MB in  3.00 seconds = 357.92 MB/sec

測(cè)試寫入性能

根據(jù)業(yè)務(wù)選擇不同的BlockSize大小按需多次測(cè)試取平均值

time dd if=/dev/zero of=/tmp/speed bs=1M count=2K conv=fsync;rm /tmp/speed

參考數(shù)據(jù)

以10,000 rpm 300 GB SAS硬盤為例,機(jī)型為IBM x3650 M4,Raid參數(shù)如下

1.Read Policy:Ahead (控制器緩存讀策略:預(yù)讀)
2.Write Policy:Write Back with BBU(控制器緩存寫策略:有電池備份時(shí)回寫)
3.IO Policy: Direct(IO策略:直接)
4.Drive Cache:disable (硬盤緩存:禁用)

Raid Read(MB) Write(MB)
Raid 1 170 130
Raid 5 350 250
Raid 10 300 215

nmon

建議根據(jù)實(shí)際需求配置間隔時(shí)間和次數(shù),配合nmon Analyser可以顯示直觀的圖表數(shù)據(jù)

#author: OX
#function: monitor system information
#time:2015/03/06
#crontab -e
#0 0 * * * sh /tmp/nmon/nmon.sh >/dev/null 2>&1
npath=/tmp/nmon/log
# monitoring per 120 senonds
#nmon -s 120 -c 720 -f -m $npath
# monitoring per 300 senonds
/tmp/nmon/nmon_x86_sles11 -s 300 -c 288 -f -m $npath
#delete file before 365 day
#find /tmp -name *.nmon  -mtime +365 -exec rm {} \;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容