李鷗 陳培俊 顧俊杰
【摘要】隨著信息系統(tǒng)的應用推行,辦公系統(tǒng)出現(xiàn)了進入系統(tǒng)耗時長,審批流程無法正常送審等情況。為了解決系統(tǒng)存在的延遲感,對辦公系統(tǒng)的性能進行了性能測試,并根據(jù)結果分析了辦公系統(tǒng)的系統(tǒng)瓶頸和不足,最終通過優(yōu)化改造,滿足了用戶使用需求。
【關鍵詞】信息化? ?性能測試? ?性能優(yōu)化
一、辦公系統(tǒng)簡介
我單位辦公系統(tǒng)于2013年進行開發(fā),2014年正式上線運行,主要用于日常辦公業(yè)務中的事項審批。目前,辦公系統(tǒng)已實現(xiàn)10類92項事務的審批流程,月均審批流程2000余條,極大的方便了辦公事務的處理,提高了工作效率。但是,隨著使用用戶的增加和系統(tǒng)中數(shù)據(jù)量的增加,辦公系統(tǒng)出現(xiàn)了進入系統(tǒng)耗時長,審批流程無法正常送審等情況。
二、辦公系統(tǒng)的性能分析
(一)辦公系統(tǒng)的架構基本情況
(1)軟件體系結構情況。辦公系統(tǒng)采用B/S架構,前端為瀏覽器,后臺為服務器。在軟件體系方面,基于J2EE體系結構,采用MVC的設計模式進行開發(fā),從業(yè)務邏輯結構上可以分為表示層、控制層、業(yè)務邏輯層、數(shù)據(jù)訪問層。
(2)硬件部署情況。在后臺服務中主要包括了Web應用服務和Oracle數(shù)據(jù)庫服務,這兩個服務部署在同一臺服務器中。服務器為曙光i620-G10,內存為16GB,處理器為Intel Xeon E5-2603的4核雙處理器。
(二)性能需求分析
辦公系統(tǒng)隨著用戶的增加,出現(xiàn)了不穩(wěn)定的情況。通過對日志分析,對在線用戶數(shù)量、用戶平均在線時長、用戶最常操作三方面進行了分析,獲取較為合理的性能需求指標。
(1)在線用戶數(shù)量。辦公系統(tǒng)用于全單位人員開放使用,共有4211個注冊用戶。從日志中發(fā)現(xiàn)同時在線用戶數(shù)量為平均值為98,同時在線用戶數(shù)量的峰值為382。
(2) 用戶平均在線時長。從系統(tǒng)日志中統(tǒng)計發(fā)現(xiàn),用戶在線時長存在明顯的區(qū)別,可以分為兩大類。一類是普通用戶,每天平均在線時長為15分鐘。另一類是業(yè)務管理部門,每天平均在線時長為60分鐘。
(3)用戶常用操作。通過對系統(tǒng)日志的統(tǒng)計和使用情況的調查,用戶最常操作包括登陸系統(tǒng)、新建審批表單、提交審批流程和查詢操作。
(三)辦公系統(tǒng)性能測試
從辦公系統(tǒng)日常的使用情況數(shù)據(jù)中,獲取了較為合理的性能需求指標,使用通過搭建相同的使用環(huán)境、使用測試工具對辦公系統(tǒng)的性能進行測試,分析系統(tǒng)性能瓶頸,制定相應的優(yōu)化方案。
(1)測試場景。為了獲取較為真實的性能情況,采用了另外一臺完全相同的服務器搭建測試環(huán)境??蛻舳耸褂?臺PC機,用于模擬用戶操作。用于Web應用的性能測試工具繁多,本文采用普通使用的LoadRunner工具進行性能測試。使用該工具能夠有效生成虛擬用戶并模擬用戶的業(yè)務操作,并收集、匯總相關的測試數(shù)據(jù)。據(jù)現(xiàn)有生產(chǎn)環(huán)境中的用戶同時在線情況,為了滿足現(xiàn)有情況以及可能存在的后續(xù)用戶數(shù)情況,對同時在線用戶數(shù)中選擇了120、240、360、480四種情況。為了滿足用戶最常使用功能的需求,設計了如下四個性能測試用例,如表1所示。
(2)測試結果。在上述測試場景中,對辦公系統(tǒng)進行了性能測試,對測試過程中的響應時間、請求成功率和主要資源占用情況進行了統(tǒng)計。對于響應時間的詳細數(shù)據(jù)如表2所示。
從統(tǒng)計數(shù)據(jù)中可以看出,隨著在用用戶數(shù)的增加,登陸系統(tǒng)操作的響應時間平緩的增加,新建審批表單和提交審批表單操作的響應時間較平穩(wěn)的增加,只有查詢操作的時間出現(xiàn)了較大的增加。對于請求成功率的詳細數(shù)據(jù)如表3所示。
從統(tǒng)計數(shù)據(jù)中可以看出,隨著在用用戶數(shù)的增加,登陸系統(tǒng)操作的成功率為100%,,新建審批表單操作、提交審批表單操作以及查詢操作均出現(xiàn)了失敗的情況。對于服務器中CPU、內存和數(shù)據(jù)庫連接數(shù)等主要的硬件資源使用情況如表4所示。
(四)系統(tǒng)性能分析
通過測試結果數(shù)據(jù),我們可以很清晰地看出系統(tǒng)的運行性能的缺陷。
登陸系統(tǒng)測試用例操作,在用戶數(shù)量增加時,其成功率和響應時間均在理想范圍內,說明對數(shù)據(jù)庫單條數(shù)據(jù)的讀寫均滿足需求;新增表單測試用例和提交流程測試用例,在用戶數(shù)量增加時,其響應時間合理增加,但是成功率出現(xiàn)了明顯的下降,說明對數(shù)據(jù)庫進行大量讀寫操作時,存在錯誤;查詢測試用例操作,在用戶數(shù)量增加時,其響應時間明顯增加,成功率有所降低,說明對數(shù)據(jù)庫進行大量查詢操作時,存在延時現(xiàn)象;從硬件資源的使用情況可以很明顯的能夠看出:內存占用率一直非常高,硬件的匱乏是當前系統(tǒng)的最大瓶頸。
三、辦公系統(tǒng)優(yōu)化改造
通過對辦公系統(tǒng)的性能分析,找到了系統(tǒng)的主要性能瓶頸,從以下三方面進行優(yōu)化:①硬件部署方式;②數(shù)據(jù)庫性能優(yōu)化;③查詢數(shù)據(jù)展示方式。
(一)硬件部署方式
由于辦公系統(tǒng)采用Web應用服務和數(shù)據(jù)庫服務共同部署在一臺服務器的形式,既占用了該服務器過多的內存資源,也存在較大的數(shù)據(jù)文件丟失風險。為了給予給多的硬件資源,將現(xiàn)有的共同部署方式改變?yōu)榉蛛x部署方式,即將應用服務和數(shù)據(jù)庫服務分別部署在兩臺不同的服務器中,部署如下圖所示。
(二)數(shù)據(jù)庫性能優(yōu)化
由于硬件部署方式發(fā)生了改變,需要對數(shù)據(jù)庫的訪問方式進行了調整。同時,為了提高多用戶訪問數(shù)據(jù)庫的效率,對數(shù)據(jù)庫連接的使用管理進行了優(yōu)化。
(1)數(shù)據(jù)庫訪問方式。由于Web應用服務和數(shù)據(jù)庫服務部署在不同設備中,對數(shù)據(jù)庫的訪問方式配置為遠程連接方式。
(2)數(shù)據(jù)庫連接池。在對數(shù)據(jù)庫進行訪問時,需要通過建立數(shù)據(jù)庫連接、訪問數(shù)據(jù)、關閉連接三步操作。頻繁的訪問數(shù)據(jù)庫,就需要進行頻繁的進行建立連接、關閉連接操作,需要不斷的申請資源、釋放資源,降低性能。通過建立一個數(shù)據(jù)庫連接池來維護數(shù)據(jù)庫的連接通道。由于在辦公系統(tǒng)中讀取數(shù)據(jù)和寫入數(shù)據(jù)在使用頻率、成功率等方面存在較大的差距,在數(shù)據(jù)庫連接池時,分別建立了一個連接數(shù)較大的數(shù)據(jù)庫讀取連接池和一個連接數(shù)稍小的數(shù)據(jù)庫寫入連接池。
(三)查詢數(shù)據(jù)展示優(yōu)化
對查詢性能進行進一步分析時發(fā)現(xiàn),訪問短數(shù)據(jù)和長數(shù)據(jù)存在明顯區(qū)別。當訪問短數(shù)據(jù)時,查詢完成后,前端能夠馬上進行展示;但是當訪問長數(shù)據(jù)時,查詢完成后,前端展示出現(xiàn)了明顯的延遲現(xiàn)象。
針對該現(xiàn)象,在查詢數(shù)據(jù)展示采用了分頁展示技術。經(jīng)實踐測試,在數(shù)據(jù)庫查詢時,以1000條數(shù)據(jù)為界限進行查詢數(shù)據(jù)返回;在前端展示時,以每頁20條數(shù)據(jù)進行展示繪制。
四、結束語
本文針對辦公系統(tǒng)在實施過程中出現(xiàn)的系統(tǒng)運行緩慢、不穩(wěn)定現(xiàn)象,分析了系統(tǒng)運行性能缺陷并進行了優(yōu)化。首先,分析了辦公系統(tǒng)性能需求指標,根據(jù)該指標設計并實現(xiàn)了辦公系統(tǒng)的性能測試。針對性能測試結果,分析了辦公系統(tǒng)的系統(tǒng)瓶頸和不足,針對這些不足,通過優(yōu)化硬件部署方式、數(shù)據(jù)庫性能以及查詢數(shù)據(jù)展示方式,辦公系統(tǒng)不存在明顯的延遲感,滿足了用戶使用需求。