基于國產(chǎn)基礎(chǔ)軟件應(yīng)用系統(tǒng)的性能測試與優(yōu)化
2.2 測試環(huán)境
測試時,使用1臺PC機作為負(fù)載測試機,1臺服務(wù)器作為應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。PC機采用100 Mb/s局域網(wǎng)連接服務(wù)器。服務(wù)器軟件組成方案如表2所示[3]。
2.3 錄制測試腳本
測試腳本是一組代碼,執(zhí)行時,可以模擬用戶操作對服務(wù)器產(chǎn)生的請求數(shù)據(jù),或是模擬用戶執(zhí)行操作的過程、用戶等待行為等。腳本的錄制按照以下步驟執(zhí)行:
(1)使用LoadRunner錄制測試從業(yè)務(wù)使用頻繁程度以及負(fù)載量的大小選擇新建患者資料、患者資料查詢、新增日程功能作為三組測試[4]。這三組測試腳本模擬的執(zhí)行過程為系統(tǒng)登錄、業(yè)務(wù)操作和退出系統(tǒng)。
(2)每個操作定義為一個事務(wù),在事務(wù)前后加入隨機的思考時間。
(3)在事務(wù)前設(shè)置集合點,保證用戶執(zhí)行操作的并發(fā)。
(4)在用戶實際操作的過程中,不同用戶提交的數(shù)據(jù)、系統(tǒng)動態(tài)生成的會話標(biāo)志是不一致的。通過參數(shù)化來設(shè)定差異值的取值范圍、迭代方式,實現(xiàn)數(shù)據(jù)的變量化,而系統(tǒng)的會話標(biāo)志如session,則需要設(shè)置關(guān)聯(lián)來保存。
2.4 設(shè)計測試場景
在性能測試中,常見的錯誤觀點是只設(shè)置單一的場景。場景的設(shè)計是至關(guān)重要的,只有設(shè)計的測試場景真實地反映用戶的實際場景,性能測試的結(jié)果才可靠。
場景的設(shè)計需要考慮到系統(tǒng)運行時,不同操作對系統(tǒng)形成的負(fù)載差異,需要確定典型的應(yīng)用場景下不同操作用戶的比例[5]。醫(yī)療信息系統(tǒng)日常執(zhí)行新建患者資料、查詢患者資料、新建日程的比例分別為25%、60%、15%。
在創(chuàng)建的場景中載入已錄制的三組測試腳本,并設(shè)置執(zhí)行比例。編輯場景中的計劃生產(chǎn)器,設(shè)置虛擬用戶以一定的間隔時間按比例遞增,逐步啟動與服務(wù)器建立連接。
2.5 分析測試結(jié)果
在性能測試的過程中,LoadRunner會收集到大量的測試數(shù)據(jù),包括每個性能指標(biāo),如事務(wù)的錯誤、警告和通知信息等。并發(fā)用戶數(shù)為200的事務(wù)響應(yīng)時間如表3所示。
在測試過程中出現(xiàn)的問題:(1)大量用戶并發(fā)時,服務(wù)器CPU、內(nèi)存的資源利用率卻很低;(2)事務(wù)執(zhí)行成功率低、成功事務(wù)的平均響應(yīng)時間長,很多事務(wù)因為連接超時而失??;(3)出現(xiàn)內(nèi)存泄露;(4)Tongweb控制臺顯示連接數(shù)據(jù)庫時出現(xiàn)網(wǎng)絡(luò)通信異常。
從測試結(jié)果可見,系統(tǒng)存在性能瓶頸。因此,為了使系統(tǒng)達(dá)到最佳的性能,需要分析測試環(huán)境對系統(tǒng)性能的影響,對其進(jìn)行性能優(yōu)化,摒除系統(tǒng)性能瓶頸。
評論