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