隨著網(wǎng)信事業(yè)持續(xù)推進(jìn),銀河麒麟操作系統(tǒng)已在關(guān)鍵基礎(chǔ)領(lǐng)域?qū)崿F(xiàn)大規(guī)模部署。尤其是在金融、能源等行業(yè),銀河麒麟服務(wù)器遷移運(yùn)維管理平臺現(xiàn)已支持管理數(shù)萬甚至數(shù)十萬級別的主機(jī)客戶端,并實(shí)現(xiàn)補(bǔ)丁下發(fā)、配置下發(fā)、自定義腳本下發(fā)等核心功能,滿足了用戶對系統(tǒng)主機(jī)精細(xì)化管理的需求。
平臺的穩(wěn)定運(yùn)行離不開高水平的測試。當(dāng)前,通過虛擬機(jī)或容器的方式對平臺進(jìn)行抗壓能力測試具有一定技術(shù)局限性,無法有效模擬數(shù)萬主機(jī)客戶端的真實(shí)請求環(huán)境。為應(yīng)對這一困難,銀河麒麟服務(wù)器遷移運(yùn)維管理平臺性能測試工具應(yīng)運(yùn)而生。通過模擬數(shù)百萬用戶并發(fā)操作,同時(shí)兼顧監(jiān)控服務(wù)端資源占用情況,監(jiān)控系統(tǒng)收集測試數(shù)據(jù),并將結(jié)果進(jìn)行可視化展示,為國產(chǎn)操作系統(tǒng)管理平臺性能優(yōu)化提供有力支持。
銀河麒麟服務(wù)器遷移運(yùn)維管理平臺的性能測試工具主要用于模擬客戶端心跳和服務(wù)端請求處理,以評估管理平臺服務(wù)端在真實(shí)環(huán)境下的承載能力。該工具涵蓋兩大業(yè)務(wù)場景:一是納管主機(jī)(心跳),采用工具實(shí)現(xiàn)并發(fā)機(jī)制持續(xù)向服務(wù)端發(fā)送HTTP請求來模擬主機(jī)在線狀態(tài);二是業(yè)務(wù)請求處理,包括立即掃描、補(bǔ)丁下發(fā)等任務(wù),篩選處理后回復(fù)發(fā)送MQ消息。鑒于這兩種場景均非實(shí)時(shí)處理性質(zhì),壓測時(shí)不設(shè)響應(yīng)時(shí)間指標(biāo),而著重于監(jiān)測平臺服務(wù)端資源使用率和請求失敗率作為性能指標(biāo)。
高效模擬客戶端
批量注冊與存儲:通過批量發(fā)送 HTTP 請求,可快速實(shí)現(xiàn)主機(jī)注冊到服務(wù)端,并將主機(jī)信息存入數(shù)據(jù)庫,極大地提高了客戶端注冊的效率,為后續(xù)的壓力測試提供了充足的模擬對象。
持續(xù)心跳模擬:不間斷發(fā)送 HTTP 協(xié)議心跳請求,能夠真實(shí)地模擬大量客戶端的在線狀態(tài),為測試服務(wù)端在高負(fù)載下對在線客戶端的管理能力提供了有力支持。
多請求處理模擬:可以從消息隊(duì)列中獲取消息,準(zhǔn)確判斷報(bào)文類型并給予相應(yīng)回復(fù),有效模擬大量客戶端同時(shí)處理由服務(wù)端發(fā)起的掃描、軟件包下發(fā)、CVE 下發(fā)等請求,全面檢驗(yàn)服務(wù)端在復(fù)雜業(yè)務(wù)場景下的性能表現(xiàn)。
便捷的數(shù)據(jù)生成與驗(yàn)證
自動(dòng)生成數(shù)據(jù):無需手動(dòng)添加大批量客戶端數(shù)據(jù),通過腳本讀取配置文件可自動(dòng)生成測試所需的 IP 數(shù)據(jù),大大節(jié)省了測試準(zhǔn)備時(shí)間,提高了測試效率。
數(shù)據(jù)有效性驗(yàn)證:通過向平臺發(fā)送請求以及查詢數(shù)據(jù)庫的方式,保證生成數(shù)據(jù)的有效性和可用性。在正式開始測試前進(jìn)行心跳檢測,對大批量 agent 數(shù)據(jù)進(jìn)行二次確認(rèn),確保核心操作能夠正常觸發(fā),從而提高了測試的準(zhǔn)確性和可靠性。
數(shù)據(jù)可視化與分析
將監(jiān)控模塊收集的請求數(shù)、失敗率、失敗信息、響應(yīng)時(shí)間等性能數(shù)據(jù),以 web 網(wǎng)頁的形式生成圖表式測試報(bào)告,使操作者能夠直觀地觀察測試過程中的各種性能指標(biāo)變化,便于進(jìn)行深入的數(shù)據(jù)分析和問題排查,為優(yōu)化服務(wù)端性能提供了有力依據(jù)。
高效的異步消息處理
使用消息隊(duì)列中間件進(jìn)行異步消息處理,在模擬報(bào)文發(fā)送后,對成功收到 HTTP 請求的客戶端進(jìn)行消息回復(fù),并將消息放入消息隊(duì)列中同時(shí)處理異步操作,大大提高了系統(tǒng)的處理效率,能夠更好地應(yīng)對高并發(fā)的壓力測試場景。
擴(kuò)展性
壓力測試工具能夠適用于其他類型軟件客戶端服務(wù)模擬,具有很強(qiáng)的通用性和擴(kuò)展性,可以滿足不同類型軟件的壓力測試需求,為軟件的性能優(yōu)化提供了廣泛的應(yīng)用空間。
針對銀河麒麟服務(wù)器遷移運(yùn)維管理平臺,麒麟軟件結(jié)合實(shí)際應(yīng)用場景構(gòu)建壓測模型,利用性能測試工具模擬萬級客戶端在靜態(tài)場景、立即掃描、補(bǔ)丁下發(fā)及腳本下發(fā)任務(wù)等場景下的表現(xiàn)。測試結(jié)果表明,所有場景中心跳保持穩(wěn)定無掉線,任務(wù)執(zhí)行失敗率低于2%,且平臺服務(wù)端資源占用率控制在80%以內(nèi),符合性能指標(biāo)要求。
測試是提高軟件的質(zhì)量和可靠性的重要環(huán)節(jié)。麒麟軟件堅(jiān)持核心技術(shù)自主創(chuàng)新,不斷提高軟件研發(fā)的過程能力、產(chǎn)品質(zhì)量和產(chǎn)品競爭力,在網(wǎng)信建設(shè)中,以豐富實(shí)踐經(jīng)驗(yàn)為用戶國產(chǎn)化建設(shè)提供強(qiáng)力支持。未來,麒麟軟件將不斷推出創(chuàng)新產(chǎn)品和解決方案,致力打造世界級操作系統(tǒng)中國品牌,為高水平科技自立自強(qiáng)貢獻(xiàn)力量。
通訊員 | 呂杉杉、肖寒、朱天旭
來 源 | 測試部、生態(tài)與技術(shù)服務(wù)中心
審 核 | 市場與政府事務(wù)部