Linux性能測試實踐

前言

Linux性能測試、監控、優化是一個持續的過程,上圖爲LinuxCon上Brendan D. Gregg分享的 Linux benchmarking tools 示意圖,涵蓋面十分普遍。咱們能夠經過成熟的監控方案如BMC Patrol,Zabbix來捕獲大部分信息,在實際工做中咱們會常常關注I/O性能,通常能夠使用dd/ORION/IOzone作簡單的測試,若是需 要獲取更加全面詳細的報告能夠使用nmon,本文將主要介紹Super PI /dd/nmon三種簡單而有效的監測方法。php

 

CPU | Memory | I/O | Network 一個都不能少html

更新記錄

2015年03月06日 - 初稿linux

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

擴展閱讀github

CPU

確認CPU型號

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

Super PI

 

計算時間越短越好緩存

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

Disk

清空緩存

 

每次作讀寫測試前建議先清空緩存post

sync; echo 3 > /proc/sys/vm/drop_ caches

測試讀性能

 

選擇測試磁盤,建議作2-3組取平均值性能

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

測試寫入性能

 

根據業務選擇不一樣的BlockSize大小按需屢次測試取平均值測試

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

參考數據

 

以10,000 rpm 300 GB SAS硬盤爲例,機型爲IBM x3650 M4,Raid參數以下優化

1.Read Policy:Ahead (控制器緩存讀策略:預讀)

2.Write Policy:Write Back with BBU(控制器緩存寫策略:有電池備份時回寫)

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

 

建議根據實際需求配置間隔時間和次數,配合 nmon Analyser 能夠顯示直觀的圖表數據

#author: OX
#function: monitor system info rmation
#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 {} \;
相關文章
相關標籤/搜索