陳磊 高熾揚
中國軟件評測中心 北京 100048
近些年來,隨著國家支持力度的日益加大,我國國產基礎軟件得到了快速發(fā)展,產品也越來越成熟。目前,已經有很多集成應用采用了國產基礎軟件,這也對基于國產基礎軟件的集成應用的關鍵測試技術的發(fā)展提出了迫切需求。為了更加準確、更加有效、更加及時的對國產基礎軟件集成應用的性能進行評價,診斷性能瓶頸,助力國產基礎軟件的發(fā)展。本文結合國產基礎軟件的特點,本文介紹了一種國產基礎軟件集成應用性能測試平臺,并通過對國產基礎軟件集成應用的性能測試對該平臺進行了驗證。
國產基礎軟件集成應用性能測試平臺主要包含了基于HTTP協(xié)議的性能測試工具、國產操作系統(tǒng)資源監(jiān)控工具和集成應用故障診斷工具。這三個工具之間采用松耦合的方式設計,之間通過文本文件進行數(shù)據的合并。國家基礎軟件集成應用性能測試平臺系統(tǒng)結構圖如圖1所示。
基于HTTP協(xié)議的性能測試工具是由HTTP消息記錄端和壓力控制兩部分組成,其中HTTP消息記錄模塊主要是捕獲用戶操作的會話過程,記錄下對應會話的用戶行為,并生成一時間序列為基準的腳本文件。壓力控制主要是對性能測試的啟動、停止等控制以及顯示測試狀態(tài)、控制測試進程和設置測試策略等輔助性能測試(如圖2)。
圖1 國產基礎軟件集成應用性能測試平臺結構圖
該性能測試工具主要通過代理服務器截獲用戶訪問的行為,通過格式化模塊將其轉換成本統(tǒng)一格式后,再將其按照時序先后保存到腳本當中。壓力控制部分主要通過多線程技術模擬多用戶同時訪問的方式進行性能測試,同時通過委托方法將各個用戶行為的響應時間傳遞給性能測試工具,并進行記錄(如圖3)。
圖2 基于 HTTP協(xié)議的性能測試工具數(shù)據流圖
圖3 HTTP消息記錄模塊流程圖
該性能測試工具是通過記錄在測試腳本文件中的用戶行為回放實現(xiàn)用戶行為的模擬的,通過多線程實現(xiàn)了并發(fā)的模式(如圖4)。
圖4 基于 HTTP協(xié)議的性能測試工具截圖
國產服務器操作系統(tǒng)資源監(jiān)控工具采用了SSH協(xié)議遠程連接被監(jiān)控服務器操作系統(tǒng),通過運行獲取虛擬文件系統(tǒng)中對應的系統(tǒng)資源信息,并以文本的方式傳輸監(jiān)控結果實現(xiàn)服務器資源的數(shù)據采集(如圖5)。
圖5 國產服務器操作系統(tǒng)資源監(jiān)控工具數(shù)據流圖
本監(jiān)控工具通過多線程方式實現(xiàn)了同時監(jiān)控多臺國產服務器操作系統(tǒng),通過應用委托的方式將多線程監(jiān)控結果回傳給UI顯示。國產服務器操作系統(tǒng)資源監(jiān)控工具總體流程圖如圖6所示。
圖6 國產服務器操作系統(tǒng)資源監(jiān)控工具流程圖
國產服務器操作系統(tǒng)資源監(jiān)控工具依據上述算法,通過配監(jiān)控服務器配置信息表,建立多線程啟動監(jiān)控算法。同時通過動態(tài)曲線控件動態(tài)的展現(xiàn)各個指標的曲線實施圖形。程序截圖如圖7所示。
圖7 國產服務器操作系統(tǒng)資源監(jiān)控工具截圖
集成應用故障診斷工具是C/S結構的工具,信息收集服務部署到國產中間件上的診斷服務來進行的,診斷服務通過JMX收集所有運行在該中間件上的應用的狀態(tài)。通過網絡將收集到的數(shù)據傳輸給客戶端,客戶端通過診斷分析模型對運行在中間件上各個應用進行分析,同時顯示診斷分析結果(如圖8)。
圖8 集成應用故障診斷工具數(shù)據流圖
集成應用故障診斷工具的診斷分析模型是共分為兩層分析,首先通過分析是否存在異常信息預警服務錯誤,其次通過預設資源閥值預警資源過度消耗。通過故障映射表進行故障信息診斷結果(如圖9)。
該診斷工具通過將信息收集服務部署到過程中間件之上,經由客戶端輸入中間件WEB服務地址和端口號與信息收集服務進行通信,再有本地算法進行診斷分析,同時顯示診斷結果,并將故障服務高亮顯示,程序截圖如圖10。
圖9 診斷分析模塊流程圖流程圖
圖10 集成應用故障診斷工具客戶端截圖
本文介紹了一種針對國產基礎軟件集成應用的性能測試平臺,該平臺包含了性能測試工具、監(jiān)控工具和診斷工具,同時介紹了各個工具的工作流程、設計方法和工作原理。目前該平臺已在部分國產基礎軟件集成應用平臺的系統(tǒng)驗收測試中得到了應用,且取得了初步成果,該平臺的正確性、可用性等都得到了驗證,但是由于該平臺還處于不斷完善的階段,以便能夠更好地應用于國產基礎軟件集成應用性能測試中。
[1] 多線程[EB/OL].http://baike.baidu.com/view/65706.htm.
[2] 委托[EB/OL].baike.baidu.com/view/159798.htm.
[3] 張杰,戴英俠.SSH協(xié)議的發(fā)展與應用研究[J].計算機工程.2002.
[4] 徐健,王濤.HTTP/1.1的分析[J].西南師范大學學報:自然科學版.2004.
[5] 楊柳,李志蜀,王逸飛.用JMX實現(xiàn)可配置的動態(tài)數(shù)據處理流程
[J].計算機應用與軟件.2004.
[6] 文震,洪玫,李群慧.JMX技術在網絡監(jiān)控中的應用[J].計算機應用研究.2004.