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