Linux性能測(cè)試.doc_第1頁
Linux性能測(cè)試.doc_第2頁
Linux性能測(cè)試.doc_第3頁
Linux性能測(cè)試.doc_第4頁
Linux性能測(cè)試.doc_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Linux性能測(cè)試一、 測(cè)試計(jì)劃1. 查找性能測(cè)試工具2. 確定測(cè)試工具并對(duì)其進(jìn)行安裝、運(yùn)行3. 對(duì)運(yùn)行結(jié)果進(jìn)行分析4. 對(duì)此測(cè)試工具未覆蓋到的性能方面,查找其他工具5. 繼續(xù)分析工具測(cè)試內(nèi)容6. 編寫測(cè)試報(bào)告二、 CGL性能要求實(shí)時(shí)處理Linux實(shí)時(shí)系統(tǒng)最重要的特點(diǎn)就是實(shí)時(shí)性,即系統(tǒng)的正確性不僅僅依賴于計(jì)算的邏輯結(jié)果的正確性,還取決于輸出結(jié)果時(shí)間的及時(shí)性。從這個(gè)角度看,實(shí)時(shí)系統(tǒng)是“一個(gè)能夠在指定或者確定的時(shí)間內(nèi)完成系統(tǒng)功能和對(duì)外部環(huán)境做出響應(yīng)的系統(tǒng)”。按對(duì)實(shí)時(shí)性能要求的程度,實(shí)時(shí)系統(tǒng)可分為兩類:(1) 硬實(shí)時(shí)系統(tǒng):要求可確定性強(qiáng),具有明確的實(shí)時(shí)約束,在某個(gè)限定的時(shí)刻之前不能完成任務(wù)將造成災(zāi)難性的后果。(2) 軟實(shí)時(shí)系統(tǒng):也對(duì)時(shí)間敏感,但偶爾發(fā)生不能滿足嚴(yán)格實(shí)時(shí)要求的情況也是允許的。Lmbench是測(cè)試Linux系統(tǒng)性能的實(shí)用程序集,會(huì)產(chǎn)生詳細(xì)的結(jié)果并提供工具來處理它們。它包括一系列微型的基準(zhǔn),可以測(cè)量一些基本的操作系統(tǒng)和硬件指標(biāo):* 文件的讀取和概括* 讀、寫和復(fù)制時(shí)的內(nèi)存帶寬* 通過管道復(fù)制數(shù)據(jù)* 通過Unix套接字復(fù)制數(shù)據(jù)* 通過TCP/ IP套接字讀取數(shù)據(jù)三、 Lmbench套件介紹(一) 原理和特色Lmbench 是一套簡(jiǎn)易可移植的,符合ANSI/C 標(biāo)準(zhǔn)為UNIX/POSIX 而制定的微型測(cè)評(píng)工具。它主要測(cè)試部分包括文件讀寫、內(nèi)存操作、進(jìn)程創(chuàng)建銷毀開銷、網(wǎng)絡(luò)等性能。主要思路是在不同的存儲(chǔ)區(qū)域之間移動(dòng)數(shù)據(jù),用以考核系統(tǒng)的性能。其測(cè)試的主要包括:帶寬(Bandwidth benchmarks)和延時(shí)(Latency benchmarks)。(二) 測(cè)試過程使用Linux性能測(cè)試套件Lmbench的步驟:1. 到Lmbench官方網(wǎng)站上下載LMbench version 3.網(wǎng)址:/lmbench/get_lmbench.html2. 解壓文件并查看目錄內(nèi)容lmbench3/ results內(nèi)容。rootserver130 Desktop# tar zxvf lmbench3.tar.gzrootserver130 Desktop# cd lmbench3rootserver130 lmbench3# ls results/Makefile3. 修改只讀文件lmbench3/src/Makefile修改該文件的第231行,避免在使用命令make的時(shí)候出錯(cuò)。rootserver130 lmbench3# vim src/Makefile# 使用:set nu添加行號(hào)#將第231行:$O/lmbench : ./scripts/lmbench bk.ver末尾的bk.ver刪除#使用命令:wq!強(qiáng)制保存退出4. 配置lmbench編譯成功的話,就會(huì)出現(xiàn)一些選擇提示以對(duì)測(cè)試進(jìn)行配置并生成配置腳本。后續(xù)的測(cè)試將使用該配置腳本,在以后測(cè)試中也能夠直接使用同樣的配置多次測(cè)試。配置提示除了測(cè)試的內(nèi)存范圍(“MB default 1792”時(shí),對(duì)內(nèi)存較大的應(yīng)該避免選擇太大值,否則測(cè)試時(shí)間會(huì)很長(zhǎng))和是否Mail results 外,基本上都能夠選擇缺省值。rootserver130 lmbench3# make results cd src & make resultsmake1: Entering directory /root/Desktop/lmbench3/srcgmake2: Entering directory /root/Desktop/lmbench3/srcMULTIPLE COPIES default 1 #需要用戶默認(rèn)回車Job placement selection: 1#輸入自己的選擇(17)MB default 259#其他時(shí)候用戶只需默認(rèn)回車Mail results default yes no#不發(fā)送結(jié)果Using config in CONFIG.server1302011年 03月 22日 星期二 15:38:16 CSTLatency measurements#測(cè)量延遲2011年 03月 22日 星期二 15:39:10 CSTCalculating file system latency#計(jì)算文件系統(tǒng)延遲2011年 03月 22日 星期二 15:39:12 CSTLocal networking#本地網(wǎng)絡(luò)2011年 03月 22日 星期二 15:40:57 CSTBandwidth measurements#測(cè)量帶寬2011年 03月 22日 星期二 15:42:38 CSTCalculating context switch overhead#計(jì)算上下文切換的開銷2011年 03月 22日 星期二 15:42:44 CSTCalculating effective TLB size#計(jì)算有效TLB的大小2011年 03月 22日 星期二 15:42:45 CSTCalculating memory load parallelism#計(jì)算內(nèi)核加載平行度2011年 03月 22日 星期二 15:48:18 CSTMcCalpins STREAM benchmark#McCalpin流基準(zhǔn)2011年 03月 22日 星期二 15:48:24 CSTCalculating memory load latency#計(jì)算內(nèi)存負(fù)載延遲2011年 03月 22日 星期二 16:12:03 CSTmake1: Leaving directory /root/Desktop/lmbench3/src5. 查看結(jié)果rootserver130 lmbench3# make seeBasic system parameters-Host OS Description Mhz tlb cache mem scal pages line par load bytes- - - - - - - -server130 Linux 2.6.18- x86_64-linux-gnu 2784 8 128 1.5600 1解釋:此項(xiàng)是性能基本參數(shù),其中Tlb pages是TLB(Translation Lookaside Buffer)的頁面數(shù),Cache line bytes為總線寬度,Scal load:并行的lmbench數(shù)。Processor, Processes - times in microseconds - smaller is better-Host OS Mhz null null open slct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc- - - - - - - - - - - - -server130 Linux 2.6.18- 2784 0.08 0.12 0.81 1.80 2.58 0.16 1.16 2095 5066 14.K解釋:此項(xiàng)顯示處理器、進(jìn)程的操作時(shí)間。Null call:簡(jiǎn)單系統(tǒng)調(diào)用(取進(jìn)程號(hào))。Null I/O:簡(jiǎn)單IO操作(空讀寫的平均)。Stat取文檔狀態(tài)的操作。Sig hndl:捕獲處理信號(hào)。Fork proc:Fork進(jìn)程后直接退出。Exec proc:Fork后執(zhí)行execve調(diào)用再退出:Sh proc /Fork后執(zhí)行shell再退出。Basic integer operations - times in nanoseconds - smaller is betterContext switching - times in microseconds - smaller is better-Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw- - - - - - - - -server130 Linux 2.6.18- 10.8 4.2200 22.6 4.8100 4.6900 5.15000 8.89000解釋:此項(xiàng)顯示上下文切換的相關(guān)記錄。2p/16K表示2個(gè)并行處理16K大小的數(shù)據(jù)。*Local* Communication latencies in microseconds - smaller is better-Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn- - - - - - - - - -server130 Linux 2.6.18- 10.8 22.9 46.0 43.1 51.6 163.解釋:本地通信傳輸延時(shí),通過不同通信方式發(fā)送后自己立即讀。Pipe:管道通信。TCP conn :TCP建立connect并關(guān)閉描述字。File & VM system latencies in microseconds - smaller is better-Host OS 0K File 10K File Mmap Prot Page 100fd Create Delete Create Delete Latency Fault Fault selct- - - - - - - - - -server130 Linux 2.6.18- 6.3736 4.8383 29.5 10.1 11.2K 9.922 29.4 1.537解釋:此項(xiàng)顯示的是文件和虛擬系統(tǒng)傳輸延時(shí)。File Create & Delete:創(chuàng)建并刪除文檔。MMap Latency:內(nèi)存映射。100fd selct:對(duì)100個(gè)文檔描述符配置select的時(shí)間。*Local* Communication bandwidths in MB/s - bigger is better-Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write- - - - - - - - - - -server130 Linux 2.6.18- 2370 1134 1201 2811.2 4450.8 1264.9 1230.2 4011 1643.解釋:本地通信帶寬。TCP /TCP通信。File reread:文檔重復(fù)讀。MMap reread:內(nèi)存映射重復(fù)讀。Mem read:內(nèi)存讀。Mem write:內(nèi)存寫Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs)-Host OS Mhz L1 $ L2 $ Main mem Rand mem Guesses- - - - - - - -server130 Linux 2.6.18- 2784 1.0970 5.5000 51.6 120.7make1: Leaving directory /root/Desktop/lmbench3/results解釋:內(nèi)存操作延時(shí)(單位:毫秒)。L1:緩存1。L2:緩存2。Main Mem。連續(xù)內(nèi)存。Rand Mem:存隨機(jī)訪問延時(shí)。6. 在Makefile目錄下生成文件,記錄本次測(cè)試的詳細(xì)結(jié)果。Lmbench 根據(jù)配置文檔執(zhí)行測(cè)試項(xiàng)之后,在results目錄下會(huì)根據(jù)系統(tǒng)類型、系統(tǒng)名和操作系統(tǒng)類型等生成一個(gè)子目錄,測(cè)試結(jié)果文檔(system name+序號(hào))就存放于該目錄下。測(cè)試完畢執(zhí)行make see 可查看到測(cè)試結(jié)果報(bào)告及其說明。rootserver130 lmbench3# ls results/Makefile x86_64-linux-gnurootserver130 lmbench3# ls results/x86_64-linux-gnu/server130.0 rootserver130 lmbench3# ll results/x86_64-linux-gnu/總計(jì) 28-rw-r-r- 1 root root 25462 03-22 16:12 server130.0rootserver130 lmbench3# cat results/x86_64-linux-gnu/server130.0 | morelmbench3.0 results for Linux server130 2.6.18-128.7NFS #1 SMP Thu Aug 26 10:13:03 EDT 2010 x86_64 x86_64 x86_64 GNU/LinuxLMBENCH_VER: BENCHMARK_HARDWARE: YESBENCHMARK_OS: YESALL: 512 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m 64m 128m總結(jié):Lmbench是一套微基準(zhǔn),可以用來分析不同操作系統(tǒng)的設(shè)定。包括Lmbench在內(nèi)的基準(zhǔn)可以度量多種操作系統(tǒng)的例行程序,如上下文轉(zhuǎn)換、本地通訊、內(nèi)存帶寬和文件操作。Lmbench使用很簡(jiǎn)單,只需要知道三個(gè)重要的命令。 make results:首次運(yùn)行Lmbench時(shí),它會(huì)提示系統(tǒng)配置的一些詳細(xì)信息和哪些測(cè)試會(huì)被執(zhí)行。 make rerun:在初始化配置并完成首次運(yùn)行基準(zhǔn)后,使用make rerun命令可以重復(fù)基準(zhǔn)使用由make results提供的配置。 make see:在運(yùn)行最少三次后,可以使用make see命令查看結(jié)果。顯示的結(jié)果可以被復(fù)制到制表軟件用于后續(xù)分析或圖形化展示。四、 使用其他工具測(cè)試Linux性能1. vmstat:監(jiān)視內(nèi)存vmstat命令可對(duì)操作系統(tǒng)的命令報(bào)告關(guān)于內(nèi)核線程、虛擬內(nèi)存、磁盤、陷阱和 CPU 活動(dòng)的統(tǒng)計(jì)信息進(jìn)行監(jiān)視。如加上-s參數(shù)會(huì)顯示系統(tǒng)初始化后調(diào)頁事件的絕對(duì)計(jì)數(shù):rootserver130 # vmstatprocs -memory- -swap- -io- -system- -cpu- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 19456 67776 130284 0 0 179 25 1031 216 3 2 93 2 0解釋:其中, r:運(yùn)行隊(duì)列中的進(jìn)程數(shù),在一個(gè)穩(wěn)定的工作量下應(yīng)該少于5。而b表示等待隊(duì)列中的進(jìn)程數(shù)(等待I/O),通常情況下是接近0的。bi表示向一個(gè)塊設(shè)備輸出的塊數(shù)量。in:每秒發(fā)生的中斷數(shù)量,包括時(shí)鐘。cs:每秒發(fā)生的context switches的數(shù)量。us:非內(nèi)核代碼運(yùn)行的時(shí)間(用戶時(shí)間,包括nice時(shí)間)。sy:內(nèi)核代碼運(yùn)行的時(shí)間(系統(tǒng)時(shí)間)。Wa顯示的是等待I/O操作的時(shí)間。1)顯示詳細(xì)的內(nèi)核內(nèi)存利用率rootserver130 # vmstat -mCache Num Total Size Pagesfib6_nodes 5 59 64 59ip6_dst_cache 4 12 320 12ndisc_cache 1 15 256 152)顯示內(nèi)存頁面信息,包括活躍和不活躍的內(nèi)存頁面rootserver130 # vmstat -aprocs -memory- -swap- -io- -system- -cpu- r b swpd free inact active si so bi bo in cs us sy id wa st 0 0 0 21224 144440 161740 0 0 110 19 1024 201 2 2 95 1 03)將總數(shù)結(jié)構(gòu)中的內(nèi)容寫入到標(biāo)準(zhǔn)輸出,該結(jié)構(gòu)包含從系統(tǒng)初始化后調(diào)頁事件的絕對(duì)計(jì)數(shù)。rootserver130 # vmstat s | more 379672 total memory 358452 used memory 162180 active memory 144332 inactive memory 21220 free memory 67828 buffer memory 125664 swap cache 2. isostat:監(jiān)視系統(tǒng)輸入/輸出設(shè)備負(fù)載 iostat的特點(diǎn)是匯報(bào)磁盤活動(dòng)統(tǒng)計(jì)情況,同時(shí)也會(huì)匯報(bào)出CPU使用情況。它報(bào)告CPU統(tǒng)計(jì)信息和整個(gè)系統(tǒng)、適配器、tty 設(shè)備、磁盤和 CD-ROM 的輸入輸出統(tǒng)計(jì)信息。rootserver130 # iostat -xLinux 2.6.18-128.7NFS (server130.localdomain) 2011年03月18日avg-cpu: %user %nice %system %iowait %steal %idle 1.31 0.10 1.42 0.99 0.00 96.18Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %utilsda 1.10 2.66 4.63 1.16 131.52 30.61 28.00 0.08 13.77 2.51 1.46sda1 1.07 2.66 4.60 1.16 131.22 30.61 28.08 0.08 13.83 2.52 1.45sda2 0.04 0.00 0.02 0.00 0.24 0.00 10.90 0.00 1.21 1.20 0.00hdc 0.00 0.00 0.00 0.00 0.03 0.00 15.53 0.00 8.47 7.41 0.00解釋:rrqm/s、 wrqm/s:每秒進(jìn)行 merge 的讀/寫操作數(shù)目。r/s、 w/s:每秒完成的讀/寫 I/O 設(shè)備次數(shù)。avgrq-sz:平均每次設(shè)備I/O操作的數(shù)據(jù)大小(扇區(qū))。avgqu-sz:平均I/O隊(duì)列長(zhǎng)度。Await:平均每次設(shè)備I/O操作的等待時(shí)間(毫秒)。Svctm:平均每次設(shè)備I/O操作的服務(wù)時(shí)間(毫秒)。其中,svctm 一般要小于 await (因?yàn)橥瑫r(shí)等待的請(qǐng)求的等待時(shí)間被重復(fù)計(jì)算了),svctm 的大小一般和磁盤性能有關(guān),CPU/內(nèi)存的負(fù)荷也會(huì)對(duì)其有影響,請(qǐng)求過多也會(huì)間接導(dǎo)致 svctm 的增加。await 的大小一般取決于服務(wù)時(shí)間(svctm) 以及 I/O 隊(duì)列的長(zhǎng)度和 I/O 請(qǐng)求的發(fā)出模式。如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時(shí)間;如果 await 遠(yuǎn)大于 svctm,說明 I/O 隊(duì)列太長(zhǎng),應(yīng)用得到的響應(yīng)時(shí)間變慢。如果響應(yīng)時(shí)間超過了用戶可以容許的范圍,這時(shí)可以考慮更換更快的磁盤,調(diào)整內(nèi)核 elevator 算法,優(yōu)化應(yīng)用,或者升級(jí) CPU。隊(duì)列長(zhǎng)度(avgqu-sz)也可作為衡量系統(tǒng) I/O 負(fù)荷的指標(biāo),但由于 avgqu-sz 是按照單位時(shí)間的平均值,所以不能反映瞬間的 I/O。如果 %util 接近 100%,說明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。3. 使用sar進(jìn)行綜合查看sar命令是系統(tǒng)維護(hù)的重要工具,主要幫助我們掌握系統(tǒng)資源的使用情況,特別是內(nèi)存和CPU 的使用情況。它的特點(diǎn)是可以連續(xù)對(duì)系統(tǒng)取樣,獲得大量的取樣數(shù)據(jù)。sar是目前Linux上最為全面的系統(tǒng)性能分析工具之一,可以從14個(gè)大方面對(duì)系統(tǒng)的活動(dòng)進(jìn)行報(bào)告,包括文件的讀寫情況、系統(tǒng)調(diào)用的使用情況、串口、CPU效率、內(nèi)存使用狀況、進(jìn)程活動(dòng)及IPC有關(guān)的活動(dòng)等。1) 使用命令行sar n o result 5 2。每5秒采樣一次,連續(xù)采樣2次,采樣結(jié)果以二進(jìn)形式存入當(dāng)前目錄下的文件result中。rootserver130 # sar -u -o result 5 2Linux 2.6.18-128.7NFS (server130) 2011年03月25日10時(shí)04分05秒 CPU %user %nice %system %iowait %steal %idle10時(shí)04分10秒 all 0.60 0.00 0.60 0.00 0.00 98.8010時(shí)04分15秒 all 1.00 0.00 1.60 0.00 0.00 97.40Average: all 0.80 0.00 1.10 0.00 0.00 98.10rootserver130 # sar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論