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