張宇
摘要:該文針對(duì)在信息化的今天,越來(lái)越多的行業(yè)專業(yè)應(yīng)用在小型機(jī)上運(yùn)行,為了讓系統(tǒng)管理員隨時(shí)了解小型機(jī)的運(yùn)行情況,并且在保證業(yè)務(wù)正常運(yùn)行的同時(shí)兼顧資源的合理分配,故需要對(duì)小型機(jī)隨時(shí)進(jìn)行運(yùn)行性能分析。該文介紹一種IBM小型機(jī)的性能分析工具NMON,通過(guò)使用這種工具,能夠讓管理員隨時(shí)了解小型機(jī)的運(yùn)行情況和資源使用情況等。
關(guān)鍵詞:小型機(jī);NMON;性能分析
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8355-04
1 概述
隨著信息化的高速發(fā)展,各行各業(yè)有越來(lái)越多的業(yè)務(wù)運(yùn)行在小型機(jī)上。小型機(jī)通常是指采用8-32顆處理器,性能和價(jià)格介于PC服務(wù)器和大型主機(jī)之間的一種高性能64位計(jì)算機(jī),小型機(jī)基本上采用UNIX操作系統(tǒng),UNIX服務(wù)器具有區(qū)別X86服務(wù)器和大型主機(jī)的特有體系結(jié)構(gòu),基本上,各個(gè)小型機(jī)廠商都有自己的UNIX版本和處理器。例如IBM公司開(kāi)發(fā)的UNIX操作系統(tǒng)是AIX(AdvacncedInteractiveeXecutive),它運(yùn)行在IBM獨(dú)有的Power系列芯片的小型機(jī)硬件系統(tǒng)之上,通過(guò)全面集成對(duì)32位和64位應(yīng)用的并行支持,為這些應(yīng)用提供了全面的擴(kuò)展性。小型機(jī)和普通PC服務(wù)器的最大差別在于小型機(jī)的高RAS(Reliability,Availability,Sercviceability,高可靠性、高可用性、高服務(wù)性)特性。
2 現(xiàn)況分析
西南空管局氣象中心(以下簡(jiǎn)稱為中心)數(shù)據(jù)庫(kù)系統(tǒng)是中國(guó)民用航空氣象數(shù)據(jù)庫(kù)系統(tǒng)在西南地區(qū)的重要結(jié)點(diǎn),它在擔(dān)負(fù)著為成都地區(qū)的民航飛行提供氣象保障的同時(shí)還有向西南地區(qū)建設(shè)有氣象數(shù)據(jù)庫(kù)系統(tǒng)的機(jī)場(chǎng)氣象臺(tái)(站)傳輸民航氣象資料的重要職責(zé)。并且由于民航業(yè)務(wù)的特殊性,民航氣象數(shù)據(jù)庫(kù)系統(tǒng)必須24小時(shí)不間斷運(yùn)行。鑒于以上因素,中心數(shù)據(jù)庫(kù)系統(tǒng)中的多個(gè)核心服務(wù)器均為IBM出產(chǎn)的P系列小型機(jī),目前在使用中的有P720、P650、P520等型號(hào)。由于這些服務(wù)器的配置有所差別,在實(shí)際生產(chǎn)過(guò)程中所承擔(dān)的業(yè)務(wù)量也有所區(qū)別。
伴隨著中國(guó)民用航空事業(yè)的高速發(fā)展,民航氣象業(yè)務(wù)量的增長(zhǎng)也越來(lái)越快,客觀上對(duì)民航氣象數(shù)據(jù)庫(kù)系統(tǒng)服務(wù)器的可靠性、可用性和服務(wù)性提出了更高的要求。在達(dá)到以上目標(biāo)的同時(shí),為了更好的利用每一臺(tái)服務(wù)器的可用資源,則需要系統(tǒng)管理員隨時(shí)掌握服務(wù)器運(yùn)行時(shí)的性能情況。運(yùn)行性能又由服務(wù)器硬件和業(yè)務(wù)軟件共同決定,由于軟件部分的牽涉方面太多,故這部分的性能分析和優(yōu)化不在本文的討論范圍內(nèi)。服務(wù)器硬件上主要有4個(gè)方面和AIX系統(tǒng)性能相關(guān):分別是CPU系統(tǒng)、內(nèi)存系統(tǒng)、磁盤I/O系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)。系統(tǒng)管理員需對(duì)服務(wù)器這幾方面的運(yùn)行性能進(jìn)行查看分析,了解服務(wù)器的運(yùn)行狀況,以便達(dá)到資源的有效利用。
3 分析方法
3.1 通過(guò)系統(tǒng)命令獲取數(shù)據(jù)進(jìn)行分析
對(duì)于上文提到的4個(gè)方面,AIX系統(tǒng)提供了多種命令可以查看其工作數(shù)據(jù),由管理員獲取這些數(shù)據(jù)后再對(duì)其進(jìn)行客觀分析。如vmstat,sar和tprof命令可以查看CPU的運(yùn)行性能數(shù)據(jù);vmstat,svmon,topas命令可以查看內(nèi)存的運(yùn)行性能數(shù)據(jù);iostat,ilemon命令可以查看磁盤I/O的運(yùn)行性能數(shù)據(jù);ping,ftp,netstat,netpmon等命令可以查看網(wǎng)絡(luò)的運(yùn)行性能數(shù)據(jù)。
例如執(zhí)行命令在root賬戶下執(zhí)行命令sar 1 15,該命令的含義是每隔1秒查看一次CPU的使用率,連續(xù)查看30次,得到以下結(jié)果:
上述第一列為取樣時(shí)間,第二列%usr是CPU處在用戶模式下的時(shí)間百分比;第三列%sys是CPU處在系統(tǒng)模式下的時(shí)間百分比;第四列%wio是CPU等待輸入輸出完成時(shí)間的百分比;第五列%idle是CPU空閑時(shí)間百分比;第六列physc是消耗物理處理器的數(shù)目。
在上述結(jié)果中,系統(tǒng)管理員應(yīng)主要注意%wio和%idle。%wio的值過(guò)高,表示硬盤存在I/O瓶頸;%idle值高,表示CPU較空閑,如果%idle值高但系統(tǒng)響應(yīng)慢時(shí),有可能是CPU等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量。%idle值如果持續(xù)低于10,那么系統(tǒng)的CPU處理能力相對(duì)較低,表明系統(tǒng)中最需要解決的資源是CPU。
由于AIX系統(tǒng)命令參數(shù)較多,上述例子只是一個(gè)簡(jiǎn)單示例,sar命令還有其他較多參數(shù)可以使用,用于各項(xiàng)系統(tǒng)參數(shù)的收集、報(bào)告或者保存。如果是查看短時(shí)間內(nèi)AIX系統(tǒng)的某一方面的運(yùn)行狀態(tài),用上述命令進(jìn)行查看比較方便;若需要查看AIX系統(tǒng)在一個(gè)較長(zhǎng)時(shí)間內(nèi)的的全面運(yùn)行狀態(tài),則需要同時(shí)運(yùn)行多個(gè)命令,將采集到的各種數(shù)據(jù)進(jìn)行集中分析,從而獲取到系統(tǒng)管理員需要了解到的各種信息。
3.2 使用NMON工具進(jìn)行分析
在對(duì)AIX系統(tǒng)進(jìn)行整體檢查時(shí),需要運(yùn)行多個(gè)命令,采集多方面的數(shù)據(jù),并且需要將各項(xiàng)數(shù)據(jù)進(jìn)行交叉分析。對(duì)于系統(tǒng)管理員而言,進(jìn)行這樣的檢查相對(duì)繁瑣且占用大量時(shí)間,針對(duì)這種情況,在對(duì)系統(tǒng)進(jìn)行全面分析時(shí),可以采用NMON工具進(jìn)行數(shù)據(jù)的采集分析。NMON是一種在AIX與各種Linux操作系統(tǒng)上使用的監(jiān)控與分析工具,對(duì)于系統(tǒng)原本的一些監(jiān)控工具而言,NMON所記錄的信息相對(duì)全面,它能在系統(tǒng)運(yùn)行過(guò)程中實(shí)時(shí)地捕捉系統(tǒng)資源的使用情況,并且能輸出結(jié)果到文件中,然后通過(guò)nmon_analyzer工具產(chǎn)生數(shù)據(jù)文件和圖形化結(jié)果。
NMON所記錄的數(shù)據(jù)包括以下方面:CPU占用率;內(nèi)存使用情況;內(nèi)核統(tǒng)計(jì)信息和運(yùn)行隊(duì)列信息;磁盤I/O速度、傳輸和讀/寫比率;文件系統(tǒng)中的可用空間;磁盤適配器;網(wǎng)絡(luò)I/O速度、傳輸和讀/寫比率;頁(yè)面空間和頁(yè)面速度;CPU和AIX規(guī)范;消耗資源最多的進(jìn)程;IBM HTTP Web緩存;用戶自定義的磁盤組;計(jì)算機(jī)詳細(xì)信息和資源;異步I/O;工作負(fù)載管理器(WLM);IBM ESS磁盤;網(wǎng)絡(luò)文件系統(tǒng)(NFS);動(dòng)態(tài)LPAR(DLPAR)更改等等。endprint
一個(gè)簡(jiǎn)單的NMON命令示范如下:
nmon—f —s 30 —c 120
-f表示輸出文件的格式,上述命令表示采用默認(rèn)值;-s表示每隔30秒采集一次數(shù)據(jù);-c表示一共采集120次數(shù)據(jù)。
該命令執(zhí)行后就在當(dāng)前目錄下生成如下文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.nmon。再通過(guò)NMON提供的EXCEL文件對(duì)其進(jìn)行加工,即可將結(jié)果生成直觀的EXCEL文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.xlsx。用EXCEL打開(kāi)該文件后第一個(gè)SHEET如圖1所示,這是對(duì)系統(tǒng)整體的一個(gè)運(yùn)行情況概要,它顯示的是目標(biāo)服務(wù)器的CPU 使用情況和I/O的吞吐量在整個(gè)采集時(shí)間內(nèi)的變化情況。
針對(duì)每頁(yè)的不同內(nèi)容,NMON有多項(xiàng)指標(biāo)對(duì)其進(jìn)行分析,現(xiàn)將一些關(guān)鍵指標(biāo)類型如表2所示。上述類型則完全覆蓋了服務(wù)器在運(yùn)行過(guò)程中各方面的要素,并且這些要素都已用最直觀的的方式給用戶顯示出來(lái),如圖2所示。這張SHEET顯示的是DISKXFER,也就是每個(gè)hdisk的I/O每秒操作。在圖2上面一幅圖表,顯示的是HDISK0和HDISK1的每秒I/O操作的數(shù)據(jù),其中藍(lán)色表示平均值,紅色表示加權(quán)平均值,綠色表示最大值。在此引入加權(quán)平均值是因?yàn)樵谑占瘶颖緮?shù)據(jù)過(guò)程中,可能會(huì)面臨系統(tǒng)中的某項(xiàng)資源在一個(gè)長(zhǎng)時(shí)間內(nèi)都是空閑的情況,這樣并不會(huì)影響到數(shù)據(jù)的最大值,但是能夠影響到平均值的準(zhǔn)確性。加權(quán)平均的意義在于提供一項(xiàng)量化因素,說(shuō)明任一份樣本數(shù)據(jù),它是如何影響到平均值的。圖2下面一副圖表,則顯示的是HDISK0和HDISK1的每份樣本數(shù)據(jù)中的I/O每秒操作量根據(jù)時(shí)間的變化。可見(jiàn)在18:26和21:26兩個(gè)時(shí)間段,磁盤的I/O操作達(dá)到一天的最大值,并且遠(yuǎn)遠(yuǎn)超過(guò)其他時(shí)候的數(shù)值。在兩幅圖上方還有每個(gè)樣本中的磁盤I/O的具體數(shù)據(jù),截圖未能將該圖表覆蓋完全。
對(duì)得出的所有結(jié)論分析后則可對(duì)當(dāng)前服務(wù)器的性能進(jìn)行一定的總體評(píng)估,如果某幾項(xiàng)資源尚未得到充分利用,則可以根據(jù)需要適當(dāng)增加該服務(wù)器上的業(yè)務(wù)量;如果某些方面性能已經(jīng)達(dá)到飽和,則可以適當(dāng)減少該服務(wù)器上的業(yè)務(wù)量,避免長(zhǎng)期對(duì)某項(xiàng)資源的使用率過(guò)高,從而造成影響整個(gè)服務(wù)器的業(yè)務(wù)運(yùn)行。
4 中心數(shù)據(jù)庫(kù)服務(wù)器實(shí)際分析
中心數(shù)據(jù)庫(kù)系統(tǒng)核心服務(wù)器為一臺(tái)IBM P720小型機(jī),基本情況如下:操作系統(tǒng)AIX版本為5.3.12.7;4顆POWER7系列CPU;4塊SAS硬盤,每塊硬盤300G,其中DISK0和DISK1組成ROOTVG,DISK2和DISK3組成DATAVG,并通過(guò)光纖外接存儲(chǔ)設(shè)備,其中DISK4是位于存儲(chǔ)設(shè)備上;系統(tǒng)物理內(nèi)存16G;一塊千兆以太網(wǎng)卡和一塊光纖網(wǎng)卡。在該服務(wù)器上運(yùn)行有民航氣象通信系統(tǒng)和民航氣象數(shù)據(jù)庫(kù)系統(tǒng),民航氣象通信系統(tǒng)的主要功能是轉(zhuǎn)發(fā)民航氣象資料,實(shí)時(shí)接收從上一級(jí)下發(fā)或者下一級(jí)上傳的氣象資料,進(jìn)行相關(guān)處理后再傳輸給下一級(jí)或者上一級(jí),并同時(shí)轉(zhuǎn)發(fā)給本地的一些數(shù)據(jù)庫(kù);民航氣象數(shù)據(jù)庫(kù)系統(tǒng)的主要功能就是對(duì)民航氣象資料進(jìn)行存儲(chǔ),并將這些數(shù)據(jù)提供給用戶。
為了對(duì)核心服務(wù)器進(jìn)行運(yùn)行性能分析,我們用NMON對(duì)其進(jìn)行數(shù)據(jù)采集,整個(gè)采集過(guò)程持續(xù)一整天24小時(shí),且每隔20分鐘采集一次樣本。原因在于每天民航氣象數(shù)據(jù)資料的數(shù)量都趨于一致,故核心服務(wù)器每天的業(yè)務(wù)量也基本一致。
經(jīng)過(guò)一天的數(shù)據(jù)采集后,我們得到最后的概要結(jié)果如圖3所示。由此圖可知,在一整天的業(yè)務(wù)運(yùn)行中,CPU的使用率基本保持在10%以下,磁盤I/O的吞吐量大部分時(shí)間在每秒200KB左右小幅變化,只有在18點(diǎn)到19點(diǎn)之間,磁盤I/O達(dá)到最大值700KB/S左右。由于核心服務(wù)器每天在18點(diǎn)后開(kāi)始執(zhí)行前一天的資料歸檔工作,故這個(gè)時(shí)候磁盤I/O會(huì)達(dá)到當(dāng)天的最大值,其他時(shí)候每天的業(yè)務(wù)分布相對(duì)平均,磁盤I/O的變化幅度不大。
圖4為CPU運(yùn)行情況概要,其中藍(lán)色折線為在用戶模式下執(zhí)行的程序所使用的 CPU 百分比;紅色折線為在內(nèi)核模式下執(zhí)行的程序所使用的 CPU 百分比;綠色折線為等待 IO 所花的時(shí)間百分比。由該圖可知民航氣象業(yè)務(wù)對(duì)系統(tǒng)CPU資源的消耗不高。
圖5為磁盤運(yùn)行情況概要,其中藍(lán)色折線為磁盤設(shè)備的讀取速率,該值很低是因?yàn)榉?wù)器位于網(wǎng)絡(luò)核心區(qū),實(shí)際上未提供對(duì)外的數(shù)據(jù)服務(wù);紅色折線為磁盤設(shè)備的寫入速率,持續(xù)在2000KB/S左右最大達(dá)到國(guó)16000KM/S左右;白色折線為每秒鐘輸出到物理磁盤的傳輸次數(shù),持續(xù)在150 IO/S左右,最大達(dá)到過(guò)800 IO/S。由該圖可知民航氣象業(yè)務(wù)的數(shù)據(jù)寫入基本在24小時(shí)內(nèi)平均分布,對(duì)磁盤的持續(xù)穩(wěn)定運(yùn)行要求較高。
圖6為文件系統(tǒng)使用情況概要,顯示文件系統(tǒng)以及mount磁盤設(shè)備已使用空間百分比。其中藍(lán)色為平均值;紅色為加權(quán)平均值;綠色為最大值。由該圖可知/HOME和/U0的使用空間百分比較高,這與/HOME為運(yùn)行業(yè)務(wù)安裝目錄,/U0為數(shù)據(jù)庫(kù)安裝目錄相符。
圖7為內(nèi)存使用情況概要,其中藍(lán)色折線為系統(tǒng)程序使用的內(nèi)存百分比,使用率在20%左右;紅色折線為分配給用戶進(jìn)程的內(nèi)存百分比,使用率在30%左右;米色折線為分配給文件系統(tǒng)緩存的內(nèi)存百分比,使用率在20%左右。由該圖可知民航氣象業(yè)務(wù)對(duì)內(nèi)存資源的消耗不高。
圖8為網(wǎng)絡(luò)接口使用情況概要,其中上圖藍(lán)色折線為總的接口讀取速率,由于上文提到的原因該值較低,持續(xù)在100KB/S左右;紅色折線為接口寫入速率,持續(xù)在200KB/S至300KB/S之間,瞬時(shí)最大值達(dá)到2500KB/S。下圖分別表示每一個(gè)接口的速率,其中藍(lán)色為平均值,紅色為加權(quán)平均值,綠色為最大值??梢?jiàn)EN0的寫入操作在各個(gè)接口的使用中占有主要地位。
最后,由以上各圖可知,中心數(shù)據(jù)庫(kù)核心服務(wù)器的資源足夠滿足各項(xiàng)業(yè)務(wù)運(yùn)行的需求,能夠充分保障各項(xiàng)業(yè)務(wù)的正常運(yùn)行。
5 未來(lái)工作展望
借助NMON這項(xiàng)工具,我們已經(jīng)能夠及時(shí)對(duì)任何一臺(tái)IBM的小型機(jī)服務(wù)器進(jìn)行性能分析并且得到一份全面的分析結(jié)果。對(duì)于業(yè)務(wù)繁忙,資源經(jīng)常消耗完的服務(wù)器,下一步工作計(jì)劃通過(guò)分析結(jié)果,優(yōu)化該服務(wù)器的運(yùn)行結(jié)構(gòu),使其充分利用各項(xiàng)資源。endprint
一個(gè)簡(jiǎn)單的NMON命令示范如下:
nmon—f —s 30 —c 120
-f表示輸出文件的格式,上述命令表示采用默認(rèn)值;-s表示每隔30秒采集一次數(shù)據(jù);-c表示一共采集120次數(shù)據(jù)。
該命令執(zhí)行后就在當(dāng)前目錄下生成如下文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.nmon。再通過(guò)NMON提供的EXCEL文件對(duì)其進(jìn)行加工,即可將結(jié)果生成直觀的EXCEL文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.xlsx。用EXCEL打開(kāi)該文件后第一個(gè)SHEET如圖1所示,這是對(duì)系統(tǒng)整體的一個(gè)運(yùn)行情況概要,它顯示的是目標(biāo)服務(wù)器的CPU 使用情況和I/O的吞吐量在整個(gè)采集時(shí)間內(nèi)的變化情況。
針對(duì)每頁(yè)的不同內(nèi)容,NMON有多項(xiàng)指標(biāo)對(duì)其進(jìn)行分析,現(xiàn)將一些關(guān)鍵指標(biāo)類型如表2所示。上述類型則完全覆蓋了服務(wù)器在運(yùn)行過(guò)程中各方面的要素,并且這些要素都已用最直觀的的方式給用戶顯示出來(lái),如圖2所示。這張SHEET顯示的是DISKXFER,也就是每個(gè)hdisk的I/O每秒操作。在圖2上面一幅圖表,顯示的是HDISK0和HDISK1的每秒I/O操作的數(shù)據(jù),其中藍(lán)色表示平均值,紅色表示加權(quán)平均值,綠色表示最大值。在此引入加權(quán)平均值是因?yàn)樵谑占瘶颖緮?shù)據(jù)過(guò)程中,可能會(huì)面臨系統(tǒng)中的某項(xiàng)資源在一個(gè)長(zhǎng)時(shí)間內(nèi)都是空閑的情況,這樣并不會(huì)影響到數(shù)據(jù)的最大值,但是能夠影響到平均值的準(zhǔn)確性。加權(quán)平均的意義在于提供一項(xiàng)量化因素,說(shuō)明任一份樣本數(shù)據(jù),它是如何影響到平均值的。圖2下面一副圖表,則顯示的是HDISK0和HDISK1的每份樣本數(shù)據(jù)中的I/O每秒操作量根據(jù)時(shí)間的變化??梢?jiàn)在18:26和21:26兩個(gè)時(shí)間段,磁盤的I/O操作達(dá)到一天的最大值,并且遠(yuǎn)遠(yuǎn)超過(guò)其他時(shí)候的數(shù)值。在兩幅圖上方還有每個(gè)樣本中的磁盤I/O的具體數(shù)據(jù),截圖未能將該圖表覆蓋完全。
對(duì)得出的所有結(jié)論分析后則可對(duì)當(dāng)前服務(wù)器的性能進(jìn)行一定的總體評(píng)估,如果某幾項(xiàng)資源尚未得到充分利用,則可以根據(jù)需要適當(dāng)增加該服務(wù)器上的業(yè)務(wù)量;如果某些方面性能已經(jīng)達(dá)到飽和,則可以適當(dāng)減少該服務(wù)器上的業(yè)務(wù)量,避免長(zhǎng)期對(duì)某項(xiàng)資源的使用率過(guò)高,從而造成影響整個(gè)服務(wù)器的業(yè)務(wù)運(yùn)行。
4 中心數(shù)據(jù)庫(kù)服務(wù)器實(shí)際分析
中心數(shù)據(jù)庫(kù)系統(tǒng)核心服務(wù)器為一臺(tái)IBM P720小型機(jī),基本情況如下:操作系統(tǒng)AIX版本為5.3.12.7;4顆POWER7系列CPU;4塊SAS硬盤,每塊硬盤300G,其中DISK0和DISK1組成ROOTVG,DISK2和DISK3組成DATAVG,并通過(guò)光纖外接存儲(chǔ)設(shè)備,其中DISK4是位于存儲(chǔ)設(shè)備上;系統(tǒng)物理內(nèi)存16G;一塊千兆以太網(wǎng)卡和一塊光纖網(wǎng)卡。在該服務(wù)器上運(yùn)行有民航氣象通信系統(tǒng)和民航氣象數(shù)據(jù)庫(kù)系統(tǒng),民航氣象通信系統(tǒng)的主要功能是轉(zhuǎn)發(fā)民航氣象資料,實(shí)時(shí)接收從上一級(jí)下發(fā)或者下一級(jí)上傳的氣象資料,進(jìn)行相關(guān)處理后再傳輸給下一級(jí)或者上一級(jí),并同時(shí)轉(zhuǎn)發(fā)給本地的一些數(shù)據(jù)庫(kù);民航氣象數(shù)據(jù)庫(kù)系統(tǒng)的主要功能就是對(duì)民航氣象資料進(jìn)行存儲(chǔ),并將這些數(shù)據(jù)提供給用戶。
為了對(duì)核心服務(wù)器進(jìn)行運(yùn)行性能分析,我們用NMON對(duì)其進(jìn)行數(shù)據(jù)采集,整個(gè)采集過(guò)程持續(xù)一整天24小時(shí),且每隔20分鐘采集一次樣本。原因在于每天民航氣象數(shù)據(jù)資料的數(shù)量都趨于一致,故核心服務(wù)器每天的業(yè)務(wù)量也基本一致。
經(jīng)過(guò)一天的數(shù)據(jù)采集后,我們得到最后的概要結(jié)果如圖3所示。由此圖可知,在一整天的業(yè)務(wù)運(yùn)行中,CPU的使用率基本保持在10%以下,磁盤I/O的吞吐量大部分時(shí)間在每秒200KB左右小幅變化,只有在18點(diǎn)到19點(diǎn)之間,磁盤I/O達(dá)到最大值700KB/S左右。由于核心服務(wù)器每天在18點(diǎn)后開(kāi)始執(zhí)行前一天的資料歸檔工作,故這個(gè)時(shí)候磁盤I/O會(huì)達(dá)到當(dāng)天的最大值,其他時(shí)候每天的業(yè)務(wù)分布相對(duì)平均,磁盤I/O的變化幅度不大。
圖4為CPU運(yùn)行情況概要,其中藍(lán)色折線為在用戶模式下執(zhí)行的程序所使用的 CPU 百分比;紅色折線為在內(nèi)核模式下執(zhí)行的程序所使用的 CPU 百分比;綠色折線為等待 IO 所花的時(shí)間百分比。由該圖可知民航氣象業(yè)務(wù)對(duì)系統(tǒng)CPU資源的消耗不高。
圖5為磁盤運(yùn)行情況概要,其中藍(lán)色折線為磁盤設(shè)備的讀取速率,該值很低是因?yàn)榉?wù)器位于網(wǎng)絡(luò)核心區(qū),實(shí)際上未提供對(duì)外的數(shù)據(jù)服務(wù);紅色折線為磁盤設(shè)備的寫入速率,持續(xù)在2000KB/S左右最大達(dá)到國(guó)16000KM/S左右;白色折線為每秒鐘輸出到物理磁盤的傳輸次數(shù),持續(xù)在150 IO/S左右,最大達(dá)到過(guò)800 IO/S。由該圖可知民航氣象業(yè)務(wù)的數(shù)據(jù)寫入基本在24小時(shí)內(nèi)平均分布,對(duì)磁盤的持續(xù)穩(wěn)定運(yùn)行要求較高。
圖6為文件系統(tǒng)使用情況概要,顯示文件系統(tǒng)以及mount磁盤設(shè)備已使用空間百分比。其中藍(lán)色為平均值;紅色為加權(quán)平均值;綠色為最大值。由該圖可知/HOME和/U0的使用空間百分比較高,這與/HOME為運(yùn)行業(yè)務(wù)安裝目錄,/U0為數(shù)據(jù)庫(kù)安裝目錄相符。
圖7為內(nèi)存使用情況概要,其中藍(lán)色折線為系統(tǒng)程序使用的內(nèi)存百分比,使用率在20%左右;紅色折線為分配給用戶進(jìn)程的內(nèi)存百分比,使用率在30%左右;米色折線為分配給文件系統(tǒng)緩存的內(nèi)存百分比,使用率在20%左右。由該圖可知民航氣象業(yè)務(wù)對(duì)內(nèi)存資源的消耗不高。
圖8為網(wǎng)絡(luò)接口使用情況概要,其中上圖藍(lán)色折線為總的接口讀取速率,由于上文提到的原因該值較低,持續(xù)在100KB/S左右;紅色折線為接口寫入速率,持續(xù)在200KB/S至300KB/S之間,瞬時(shí)最大值達(dá)到2500KB/S。下圖分別表示每一個(gè)接口的速率,其中藍(lán)色為平均值,紅色為加權(quán)平均值,綠色為最大值??梢?jiàn)EN0的寫入操作在各個(gè)接口的使用中占有主要地位。
最后,由以上各圖可知,中心數(shù)據(jù)庫(kù)核心服務(wù)器的資源足夠滿足各項(xiàng)業(yè)務(wù)運(yùn)行的需求,能夠充分保障各項(xiàng)業(yè)務(wù)的正常運(yùn)行。
5 未來(lái)工作展望
借助NMON這項(xiàng)工具,我們已經(jīng)能夠及時(shí)對(duì)任何一臺(tái)IBM的小型機(jī)服務(wù)器進(jìn)行性能分析并且得到一份全面的分析結(jié)果。對(duì)于業(yè)務(wù)繁忙,資源經(jīng)常消耗完的服務(wù)器,下一步工作計(jì)劃通過(guò)分析結(jié)果,優(yōu)化該服務(wù)器的運(yùn)行結(jié)構(gòu),使其充分利用各項(xiàng)資源。endprint
一個(gè)簡(jiǎn)單的NMON命令示范如下:
nmon—f —s 30 —c 120
-f表示輸出文件的格式,上述命令表示采用默認(rèn)值;-s表示每隔30秒采集一次數(shù)據(jù);-c表示一共采集120次數(shù)據(jù)。
該命令執(zhí)行后就在當(dāng)前目錄下生成如下文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.nmon。再通過(guò)NMON提供的EXCEL文件對(duì)其進(jìn)行加工,即可將結(jié)果生成直觀的EXCEL文件:主機(jī)名_起始時(shí)間_結(jié)束時(shí)間.xlsx。用EXCEL打開(kāi)該文件后第一個(gè)SHEET如圖1所示,這是對(duì)系統(tǒng)整體的一個(gè)運(yùn)行情況概要,它顯示的是目標(biāo)服務(wù)器的CPU 使用情況和I/O的吞吐量在整個(gè)采集時(shí)間內(nèi)的變化情況。
針對(duì)每頁(yè)的不同內(nèi)容,NMON有多項(xiàng)指標(biāo)對(duì)其進(jìn)行分析,現(xiàn)將一些關(guān)鍵指標(biāo)類型如表2所示。上述類型則完全覆蓋了服務(wù)器在運(yùn)行過(guò)程中各方面的要素,并且這些要素都已用最直觀的的方式給用戶顯示出來(lái),如圖2所示。這張SHEET顯示的是DISKXFER,也就是每個(gè)hdisk的I/O每秒操作。在圖2上面一幅圖表,顯示的是HDISK0和HDISK1的每秒I/O操作的數(shù)據(jù),其中藍(lán)色表示平均值,紅色表示加權(quán)平均值,綠色表示最大值。在此引入加權(quán)平均值是因?yàn)樵谑占瘶颖緮?shù)據(jù)過(guò)程中,可能會(huì)面臨系統(tǒng)中的某項(xiàng)資源在一個(gè)長(zhǎng)時(shí)間內(nèi)都是空閑的情況,這樣并不會(huì)影響到數(shù)據(jù)的最大值,但是能夠影響到平均值的準(zhǔn)確性。加權(quán)平均的意義在于提供一項(xiàng)量化因素,說(shuō)明任一份樣本數(shù)據(jù),它是如何影響到平均值的。圖2下面一副圖表,則顯示的是HDISK0和HDISK1的每份樣本數(shù)據(jù)中的I/O每秒操作量根據(jù)時(shí)間的變化??梢?jiàn)在18:26和21:26兩個(gè)時(shí)間段,磁盤的I/O操作達(dá)到一天的最大值,并且遠(yuǎn)遠(yuǎn)超過(guò)其他時(shí)候的數(shù)值。在兩幅圖上方還有每個(gè)樣本中的磁盤I/O的具體數(shù)據(jù),截圖未能將該圖表覆蓋完全。
對(duì)得出的所有結(jié)論分析后則可對(duì)當(dāng)前服務(wù)器的性能進(jìn)行一定的總體評(píng)估,如果某幾項(xiàng)資源尚未得到充分利用,則可以根據(jù)需要適當(dāng)增加該服務(wù)器上的業(yè)務(wù)量;如果某些方面性能已經(jīng)達(dá)到飽和,則可以適當(dāng)減少該服務(wù)器上的業(yè)務(wù)量,避免長(zhǎng)期對(duì)某項(xiàng)資源的使用率過(guò)高,從而造成影響整個(gè)服務(wù)器的業(yè)務(wù)運(yùn)行。
4 中心數(shù)據(jù)庫(kù)服務(wù)器實(shí)際分析
中心數(shù)據(jù)庫(kù)系統(tǒng)核心服務(wù)器為一臺(tái)IBM P720小型機(jī),基本情況如下:操作系統(tǒng)AIX版本為5.3.12.7;4顆POWER7系列CPU;4塊SAS硬盤,每塊硬盤300G,其中DISK0和DISK1組成ROOTVG,DISK2和DISK3組成DATAVG,并通過(guò)光纖外接存儲(chǔ)設(shè)備,其中DISK4是位于存儲(chǔ)設(shè)備上;系統(tǒng)物理內(nèi)存16G;一塊千兆以太網(wǎng)卡和一塊光纖網(wǎng)卡。在該服務(wù)器上運(yùn)行有民航氣象通信系統(tǒng)和民航氣象數(shù)據(jù)庫(kù)系統(tǒng),民航氣象通信系統(tǒng)的主要功能是轉(zhuǎn)發(fā)民航氣象資料,實(shí)時(shí)接收從上一級(jí)下發(fā)或者下一級(jí)上傳的氣象資料,進(jìn)行相關(guān)處理后再傳輸給下一級(jí)或者上一級(jí),并同時(shí)轉(zhuǎn)發(fā)給本地的一些數(shù)據(jù)庫(kù);民航氣象數(shù)據(jù)庫(kù)系統(tǒng)的主要功能就是對(duì)民航氣象資料進(jìn)行存儲(chǔ),并將這些數(shù)據(jù)提供給用戶。
為了對(duì)核心服務(wù)器進(jìn)行運(yùn)行性能分析,我們用NMON對(duì)其進(jìn)行數(shù)據(jù)采集,整個(gè)采集過(guò)程持續(xù)一整天24小時(shí),且每隔20分鐘采集一次樣本。原因在于每天民航氣象數(shù)據(jù)資料的數(shù)量都趨于一致,故核心服務(wù)器每天的業(yè)務(wù)量也基本一致。
經(jīng)過(guò)一天的數(shù)據(jù)采集后,我們得到最后的概要結(jié)果如圖3所示。由此圖可知,在一整天的業(yè)務(wù)運(yùn)行中,CPU的使用率基本保持在10%以下,磁盤I/O的吞吐量大部分時(shí)間在每秒200KB左右小幅變化,只有在18點(diǎn)到19點(diǎn)之間,磁盤I/O達(dá)到最大值700KB/S左右。由于核心服務(wù)器每天在18點(diǎn)后開(kāi)始執(zhí)行前一天的資料歸檔工作,故這個(gè)時(shí)候磁盤I/O會(huì)達(dá)到當(dāng)天的最大值,其他時(shí)候每天的業(yè)務(wù)分布相對(duì)平均,磁盤I/O的變化幅度不大。
圖4為CPU運(yùn)行情況概要,其中藍(lán)色折線為在用戶模式下執(zhí)行的程序所使用的 CPU 百分比;紅色折線為在內(nèi)核模式下執(zhí)行的程序所使用的 CPU 百分比;綠色折線為等待 IO 所花的時(shí)間百分比。由該圖可知民航氣象業(yè)務(wù)對(duì)系統(tǒng)CPU資源的消耗不高。
圖5為磁盤運(yùn)行情況概要,其中藍(lán)色折線為磁盤設(shè)備的讀取速率,該值很低是因?yàn)榉?wù)器位于網(wǎng)絡(luò)核心區(qū),實(shí)際上未提供對(duì)外的數(shù)據(jù)服務(wù);紅色折線為磁盤設(shè)備的寫入速率,持續(xù)在2000KB/S左右最大達(dá)到國(guó)16000KM/S左右;白色折線為每秒鐘輸出到物理磁盤的傳輸次數(shù),持續(xù)在150 IO/S左右,最大達(dá)到過(guò)800 IO/S。由該圖可知民航氣象業(yè)務(wù)的數(shù)據(jù)寫入基本在24小時(shí)內(nèi)平均分布,對(duì)磁盤的持續(xù)穩(wěn)定運(yùn)行要求較高。
圖6為文件系統(tǒng)使用情況概要,顯示文件系統(tǒng)以及mount磁盤設(shè)備已使用空間百分比。其中藍(lán)色為平均值;紅色為加權(quán)平均值;綠色為最大值。由該圖可知/HOME和/U0的使用空間百分比較高,這與/HOME為運(yùn)行業(yè)務(wù)安裝目錄,/U0為數(shù)據(jù)庫(kù)安裝目錄相符。
圖7為內(nèi)存使用情況概要,其中藍(lán)色折線為系統(tǒng)程序使用的內(nèi)存百分比,使用率在20%左右;紅色折線為分配給用戶進(jìn)程的內(nèi)存百分比,使用率在30%左右;米色折線為分配給文件系統(tǒng)緩存的內(nèi)存百分比,使用率在20%左右。由該圖可知民航氣象業(yè)務(wù)對(duì)內(nèi)存資源的消耗不高。
圖8為網(wǎng)絡(luò)接口使用情況概要,其中上圖藍(lán)色折線為總的接口讀取速率,由于上文提到的原因該值較低,持續(xù)在100KB/S左右;紅色折線為接口寫入速率,持續(xù)在200KB/S至300KB/S之間,瞬時(shí)最大值達(dá)到2500KB/S。下圖分別表示每一個(gè)接口的速率,其中藍(lán)色為平均值,紅色為加權(quán)平均值,綠色為最大值??梢?jiàn)EN0的寫入操作在各個(gè)接口的使用中占有主要地位。
最后,由以上各圖可知,中心數(shù)據(jù)庫(kù)核心服務(wù)器的資源足夠滿足各項(xiàng)業(yè)務(wù)運(yùn)行的需求,能夠充分保障各項(xiàng)業(yè)務(wù)的正常運(yùn)行。
5 未來(lái)工作展望
借助NMON這項(xiàng)工具,我們已經(jīng)能夠及時(shí)對(duì)任何一臺(tái)IBM的小型機(jī)服務(wù)器進(jìn)行性能分析并且得到一份全面的分析結(jié)果。對(duì)于業(yè)務(wù)繁忙,資源經(jīng)常消耗完的服務(wù)器,下一步工作計(jì)劃通過(guò)分析結(jié)果,優(yōu)化該服務(wù)器的運(yùn)行結(jié)構(gòu),使其充分利用各項(xiàng)資源。endprint