王耿民
?
本地氣象信息系統(tǒng)入庫(kù)資料延遲原因分析
王耿民
中國(guó)民用航空中南地區(qū)空中交通管理局海南分局,海南 ???571126
通過(guò)對(duì)本地氣象信息系統(tǒng)入庫(kù)資料延遲這一案例進(jìn)行分析,理順排除故障點(diǎn)的思路,找出問(wèn)題點(diǎn),提出相應(yīng)的解決方案,進(jìn)而完善本地氣象信息系統(tǒng)的運(yùn)維手段。
現(xiàn)象描述;問(wèn)題分析;故障節(jié)點(diǎn)處理
氣象信息系統(tǒng),具有收集、處理、交換、備供、存貯、顯示等功能,是一個(gè)24小時(shí)運(yùn)行不間斷的系統(tǒng),用戶可通過(guò)氣象信息系統(tǒng)查詢、下載和打印氣象資料[1]。
為了能更好地描述問(wèn)題,本次案例中出現(xiàn)的設(shè)備,在網(wǎng)絡(luò)中的相互關(guān)系如圖1所示。
1.1.1 網(wǎng)絡(luò)方面
(1)在系統(tǒng)網(wǎng)絡(luò)中,藍(lán)色和紅色的區(qū)域分別代表不同的網(wǎng)段,各網(wǎng)段可相互連通。藍(lán)色區(qū)域?yàn)楸镜貧庀笄閳?bào)系統(tǒng),紅色區(qū)域?yàn)楸镜貧庀笮畔⑾到y(tǒng)。三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)是氣象情報(bào)系統(tǒng)的一部分,本地氣象數(shù)據(jù)庫(kù)系統(tǒng)是氣象信息系統(tǒng)的一部分。
(2)通信服務(wù)器、三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器、存儲(chǔ)服務(wù)器A和B,使用MQ方式進(jìn)行傳輸。
(3)三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)和氣象信息系統(tǒng)分別是兩套獨(dú)立的系統(tǒng)。
圖1 設(shè)備在網(wǎng)絡(luò)中的拓補(bǔ)圖
(4)終端可以訪問(wèn)三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)和氣象信息系統(tǒng)以及地區(qū)中心網(wǎng)絡(luò)。
(5)外聯(lián)用戶可以訪問(wèn)三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)和本地氣象信息系統(tǒng),但不能訪問(wèn)地區(qū)中心網(wǎng)絡(luò)。
(6)情報(bào)系統(tǒng)核心交換機(jī)是一臺(tái)三層交換機(jī),具備路由功能,是本地業(yè)務(wù)的核心。
1.1.2 服務(wù)器方面
(1)通信服務(wù)器,使用的操作系統(tǒng)為L(zhǎng)inux 2.6.9-42.Elsmp(Red Hat 3.4.6-2),是本地業(yè)務(wù)運(yùn)行系統(tǒng)的通信中心,內(nèi)置通信子系統(tǒng)。它負(fù)責(zé)從地區(qū)中心網(wǎng)絡(luò)收集資料,并分發(fā)給存儲(chǔ)服務(wù)器A、存儲(chǔ)服務(wù)器B以及三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器;將本地的資料進(jìn)行收集,并匯交至地區(qū)中心網(wǎng)絡(luò)、存儲(chǔ)服務(wù)器A、存儲(chǔ)服務(wù)器B以及信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器。
(2)存儲(chǔ)服務(wù)器A和B,使用的操作系統(tǒng)是AIX5.3,存儲(chǔ)所使用的數(shù)據(jù)庫(kù)是Oracle 10g。A和B互為熱備,是本地氣象信息系統(tǒng)的資料存儲(chǔ)中心,負(fù)責(zé)存儲(chǔ)資料。
(3)三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器,所使用的操作系統(tǒng)為L(zhǎng)inux 2.6.32(Red Hat 4.4.7-4),使用數(shù)據(jù)庫(kù)為MySQL。它獲取、收集并存儲(chǔ)從通信服務(wù)器傳過(guò)來(lái)的資料,提供給用戶使用。
(4)三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)前臺(tái)服務(wù)器,操作系統(tǒng)是Windows Server 2003 R2獲取后臺(tái)服務(wù)器的資料,以網(wǎng)頁(yè)形式向用戶提供服務(wù)。用戶可從前臺(tái)服務(wù)器查詢、下載和打印資料。
(5)地區(qū)中心網(wǎng)絡(luò)是各地氣象信息系統(tǒng)的橋梁,使本地得以和其它地區(qū)系統(tǒng)相互連通。本地氣象信息系統(tǒng)可以直接訪問(wèn)地區(qū)中心網(wǎng)絡(luò)。
(6)外聯(lián)用戶可從三亞區(qū)管氣象信息綜合服務(wù)系統(tǒng)前臺(tái)服務(wù)器上查詢、下載和打印資料,也可使用本地氣象信息系統(tǒng)。
(7)終端上部署了氣象信息綜合處理子系統(tǒng),用戶可通過(guò)該系統(tǒng)查詢、顯示和下載資料,也可從地區(qū)中心網(wǎng)絡(luò)的網(wǎng)頁(yè)上查詢、顯示和下載資料。氣象信息綜合處理子系統(tǒng)是氣象信息系統(tǒng)的一部分。
根據(jù)外聯(lián)用戶來(lái)電反映,使用信息綜合服務(wù)系統(tǒng)前臺(tái)服務(wù)器的網(wǎng)頁(yè)提取高空風(fēng)溫圖和重要天氣預(yù)告圖時(shí),發(fā)現(xiàn)資料存在延遲的現(xiàn)象。
(1)根據(jù)來(lái)電所反映的情況,首先對(duì)信息綜合服務(wù)系統(tǒng)前臺(tái)服務(wù)器進(jìn)行檢查,該服務(wù)器運(yùn)行狀態(tài)正常。
(2)對(duì)信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器數(shù)據(jù)庫(kù)狀態(tài)進(jìn)行檢查,數(shù)據(jù)庫(kù)運(yùn)行正常。如圖2所示,查詢數(shù)據(jù)庫(kù)入庫(kù)情況,發(fā)現(xiàn)資料入庫(kù)延遲。
圖2 MySQL數(shù)據(jù)庫(kù)運(yùn)行正常
(3)對(duì)存儲(chǔ)服務(wù)器A和B數(shù)據(jù)庫(kù)狀態(tài)進(jìn)行檢查,數(shù)據(jù)庫(kù)運(yùn)行正常。查詢數(shù)據(jù)庫(kù)入庫(kù)情況,入庫(kù)資料亦存在相同的延遲現(xiàn)象。
(4)網(wǎng)絡(luò)運(yùn)行狀態(tài)良好,三臺(tái)服務(wù)器同時(shí)出現(xiàn)了入庫(kù)資料缺失的情況,初步懷疑問(wèn)題出現(xiàn)在通信服務(wù)器上。
(5)訪問(wèn)通信服務(wù)器,檢查數(shù)據(jù)匯交,數(shù)據(jù)匯交正常;在comm用戶下,使用通信子系統(tǒng)命令showchl查看MQ通道運(yùn)行狀況,通道工作狀態(tài)正常;使用showque,檢查通信服務(wù)器的隊(duì)列消息數(shù)量,發(fā)現(xiàn)MQ本地隊(duì)列LOCAL.PRD和LOCAL.TXT中存在大量的消息積壓,如圖3所示,其中DB00指代存儲(chǔ)服務(wù)器A,DB01是存儲(chǔ)服務(wù)器B,DB02是信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器,ZGGG為中心網(wǎng)絡(luò)。
圖3 通信服務(wù)器隊(duì)列消息積壓
(6)對(duì)通信服務(wù)器中的通信子系統(tǒng)進(jìn)行冷啟動(dòng)操作后,本地隊(duì)列消息積壓?jiǎn)栴}沒(méi)有解決。
(7)運(yùn)行MQ隊(duì)列管理器runmqsc,使用清除隊(duì)列消息命令clear qlocal(),隊(duì)列消息清零后,本地隊(duì)列消息依然不斷堆積。
(8)在超級(jí)用戶下,使用top命令,查看系統(tǒng)運(yùn)行狀況,如圖4所示:
圖4 使用top查看系統(tǒng)運(yùn)行狀況
top命令界面每秒刷新一次。從第一行,可以看出系統(tǒng)已經(jīng)連續(xù)運(yùn)行了63天,當(dāng)前有2個(gè)用戶登錄系統(tǒng),系統(tǒng)1分鐘、5分鐘、15分鐘平均負(fù)載正常。
在Tasks一行,當(dāng)前系統(tǒng)總共有165個(gè)進(jìn)程,其中有8個(gè)正在運(yùn)行,157個(gè)正在休眠,沒(méi)有終止進(jìn)程和僵尸進(jìn)程。
在CPU一行中可以看到,用戶空間占用CPU的百分比是45.5%,內(nèi)核空間占用CPU的百分比是54.5%,改變過(guò)優(yōu)先級(jí)的進(jìn)程占用CPU的百分比為0,空閑CPU百分比為0,IO等待占用CPU百分比為0,硬中斷和軟中斷占用CPU的百分比分別為0。
Mem一行中,使用中的內(nèi)存量高的原因,是由于通信分系統(tǒng)需要而人工劃定的,因此當(dāng)前內(nèi)存運(yùn)行正常。
Swap一欄中,交換分區(qū)正常運(yùn)行。
第五行以后,顯示的是當(dāng)前正在運(yùn)行的進(jìn)程,其中可以看到,名稱為CSH的進(jìn)程達(dá)到了5個(gè),占用了較多的CPU資源。
由上可知,當(dāng)前系統(tǒng)CPU空閑率低,而運(yùn)行中的csh進(jìn)程數(shù)量較多,占用了CPU大量資源。
通過(guò)檢查后,初步判斷由于系統(tǒng)中CSH進(jìn)程過(guò)多,占用了CPU資源,導(dǎo)致了通信服務(wù)器中資料處理進(jìn)程效率降低,進(jìn)而造成了MQ本地隊(duì)列的消息產(chǎn)生了積壓,最終導(dǎo)致了資料入庫(kù)延遲。
(1)檢查發(fā)現(xiàn)CSH進(jìn)程在頻繁使用系統(tǒng)資源。
(2)對(duì)CSH進(jìn)程進(jìn)行分析,發(fā)現(xiàn)當(dāng)遠(yuǎn)程主機(jī)與通信服務(wù)器建立一次連接時(shí),進(jìn)程就會(huì)自動(dòng)生成。如果遠(yuǎn)程訪問(wèn)不能正常結(jié)束,進(jìn)程就會(huì)一直運(yùn)行,不會(huì)消亡。在超級(jí)用戶模式下,使用ps –ef|grep CSH,找到CSH的PID。
(3)使用kill-9 PID指令,強(qiáng)制中止CSH進(jìn)程。
(4)使用top查看CPU的空閑率,其空閑率顯著提高,如圖5所示。
圖5 CPU的id已提升到47.3%
(5)在comm用戶下,使用showque,查看本地隊(duì)列LOCAL.PRD和LOCAL.TXT消息積壓情況,消息積壓狀況已消失。
(6)檢查存儲(chǔ)服務(wù)器A和B、信息綜合服務(wù)系統(tǒng)后臺(tái)服務(wù)器數(shù)據(jù)庫(kù),資料正常入庫(kù)。
本次案例出現(xiàn)的原因,是由于通信服務(wù)器中CSH進(jìn)程過(guò)多,消耗了CPU運(yùn)算資源所導(dǎo)致的。CSH進(jìn)程是當(dāng)遠(yuǎn)程主機(jī)訪問(wèn)通信服務(wù)器時(shí),通信服務(wù)器自動(dòng)生成的進(jìn)程。當(dāng)一次遠(yuǎn)程訪問(wèn)正常結(jié)束時(shí),該進(jìn)程隨之中止。csh殘留,說(shuō)明了對(duì)通信服務(wù)器遠(yuǎn)程訪問(wèn)未正常結(jié)束。因此,在進(jìn)行一次遠(yuǎn)程操作結(jié)束后,應(yīng)當(dāng)正常關(guān)閉連接,盡量不要強(qiáng)行結(jié)束一次訪問(wèn)。在對(duì)本地氣象信息系統(tǒng)的日常運(yùn)維中,應(yīng)定期對(duì)服務(wù)器的CPU、內(nèi)存等進(jìn)行檢查,當(dāng)發(fā)現(xiàn)冗余進(jìn)程占用CPU大量資源時(shí),在確認(rèn)該進(jìn)程不屬于業(yè)務(wù)運(yùn)行系統(tǒng)或者操作系統(tǒng)后,清除進(jìn)程,以保證系統(tǒng)平穩(wěn)正常運(yùn)行。
[1]Dave Taylor.循序漸進(jìn)UNIX教程[M].3版.戴興邦,鄧英材,等,譯.北京:人民郵電出版社,2002.
Analysis of Delay Causes of Local Weather Information SystemData Entry
Wang Gengmin
CAAC Central and Southern Regional Administration Hainan Branch, Hainan Haikou 571126
Abstrac: The paper analyzes the case of delayed data entry in the local meteorological information system, rationalizes the idea of troubleshooting, finds out the problem points, proposes corresponding solutions, and then perfects the operation and maintenance methods of the local meteorological information system.
phenomenon description; problem analysis; fault node processing
TP311.52
A
王耿民(1991—),男,海南??谌?,本科學(xué)歷,主要研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)。