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