基于國產基礎軟件應用系統的性能測試與優化研究
本文以基于國產基礎軟件的醫療信息系統為例,介紹如何測試系統在承受高并發量、高訪問數據量情況下的性能,并對影響系統性能的主要因素進行分析,提出了系統的性能優化方案。實驗結果表明,該方案大幅提高了系統性能,為基于國產基礎軟件的應用系統性能優化提供了一個可借鑒的方法。
1 性能測試
1.1 性能測試方法
性能測試是通過模擬大量用戶與系統進行交互的行為,對被測系統進行加壓,獲取系統負載增加或在特定負載時,用戶的真實體驗,從而確定系統所能承受的最大負載與特定負載下的性能表現。
系統的性能測試方法較多,按照測試目的分類,可以分為負載測試、壓力測試、配置測試、并發測試、可靠性測試等[1]。其中,負載測試是通過在被測系統上不斷增加負載壓力,獲得系統在不同負載下的性能表現。壓力測試主要測試系統資源在飽和狀態時,應用系統能夠提供的最大服務級別。本文選擇負載測試和壓力測試對系統進行了多輪的測試。
1.2 性能指標
性能指標是描述系統性能最直接的數據,提供了性能度量的標準。本文在測試中對并發用戶數、響應時間、吞吐量、資源利用率等性能指標進行監控。性能指標描述如下:
(1)并發用戶數,在特定時間內,同時進行會話的用戶數。
(2)響應時間,從請求的發出到客戶端收到服務器響應所經歷的時間延遲。
(3)吞吐量,在單位時間內系統處理客戶請求的數量。
(4)資源利用率,系統各種資源的使用狀況,比如服務器的CPU、內存和網絡帶寬等。
2 性能測試實施
2.1 系統分析
醫療信息系統構建于國產基礎軟件的政務信息化領域平臺體系,采用J2EE架構,使用JSP、Strut、Hibernate等技術開發,是以國產基礎軟件為核心、低成本的公共服務系統原型和解決方案。醫療信息系統體系結構如圖1所示。
醫療信息系統主要面向各大醫院,對醫院的需求調研與系統分析如表1所示[2]。
性能測試需要模擬大量用戶的操作行為,需要測試工具的支持來實現用戶的行為模擬、負載的生成、數據采集與分析等。本文引入測試工具LoadRunner對系統進行性能測試,測試基于國產基礎軟件的醫療信息系統的性能能否滿足表1所示的需求。
2.2 測試環境
測試時,使用1臺PC機作為負載測試機,1臺服務器作為應用服務器和數據庫服務器。PC機采用100 Mb/s局域網連接服務器。服務器軟件組成方案如表2所示[3]。
評論