下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
作業(yè)與考試管理系統(tǒng)的性能測試
摘要討論了性能測試的原理、評測標準和測試步驟;介紹了一種開源性能測試工具—TheGrinder,利用它測試出作業(yè)與考試管理系統(tǒng)的一些性能指標。通過對測試數(shù)據(jù)的分析,提出了一些影響系統(tǒng)性能的因素:計算機硬件、數(shù)據(jù)庫的訪問速度、JVM(JavaVirtualMachines)的參數(shù)、TCP/IP堆棧等。在調(diào)整了相關參數(shù)后,重新做了多次實際測試,通過對測試數(shù)據(jù)的分析對照,達到了提高系統(tǒng)性能的目的。關鍵詞
性能測試;TheGrinder;響應時間;JVM參數(shù);作業(yè)與考試
1引言
作業(yè)與考試管理系統(tǒng)是針對網(wǎng)絡教育教學而開發(fā)的一套工具軟件。該系統(tǒng)能夠滿足當前教育機構在線作業(yè)和考試的基本需要,提供在線作業(yè),組卷、安排考試、下載試卷、在線考試、批改答卷、成績查詢等一系列考試流程管理及系統(tǒng)參數(shù)的配置。該系統(tǒng)采用了J2EE架構,必須在我國現(xiàn)有的和可預見未來網(wǎng)絡條件下,支持大規(guī)模密集并發(fā)訪問的、在線多媒體考試與作業(yè)傳輸方案。從用戶的角度出發(fā),大規(guī)模并發(fā)訪問中最關鍵的因素是響應時間和吞吐量,這便涉及到系統(tǒng)的整體性能問題。本文介紹了性能測試的原理及測試方法,并利用一個基于J2EE架構的性能測試工具TheGrinder,對作業(yè)與考試管理系統(tǒng)做了實際的性能評測。在測試過程中發(fā)現(xiàn)了很多影響系統(tǒng)性能的因素,在修改相應參數(shù)后又做了實際的測試,最終使得系統(tǒng)性能滿足用戶的需求。即通過測試——分析——測試達到性能測試目的。
2
性能測試概要介紹
2.1性能測試原理、評測標準性能測試的原理[1]主要是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。通過模擬上千萬用戶的實施并發(fā)負載及實時性能監(jiān)測的方式來確認和查找問題。性能評測標準依賴于所測試的應用程序類型[2]?;贘2EE平臺的應用程序一般分為兩個基本類別:交互式的-即終端用戶與應用程序同步交互;批處理或后端應用程序-即不需要直接與終端用戶交互。對于交互式應用程序,性能一般是通過大小和規(guī)劃問題的容量來定義,評測標準可以為同時發(fā)生的用戶數(shù)量和響應時間;對于后者,性能統(tǒng)計量是吞吐量,評測標準之一是每秒的事務處理,而事務處理在具體的場合定義可能有所不同。比如對于Servlet,事務處理可能為一個請求。而對JMS,吞吐量可能就是消息。性能評測標準的參數(shù)定義如下:響應時間[3]:客戶端從發(fā)送請求的那一刻起到收到應用程序響應的最后一個字節(jié)時而不得不等待的時間長度。平均響應時間ART(AverageResponseTime):某個特定請求所有用戶響應時間的算術平均。最大平均響應時間MART(MaximumAverageResponseTime):一個測試腳本中所有單獨的平均響應時間中最高的值。2.2
性能測試工具—TheGrinder介紹目前市面上主流自動化性能測試工具有很多,如Mercury公司的LoadRunner、IBM公司的RationalRobot和Compuware公司的QALoad等,這些性能測試工具在不同方面分別具有一定的優(yōu)勢,但均是商業(yè)軟件,價格比較昂貴。對自動化性能測試工具進行有效評估的功能指標主要包括[4]:腳本制作能力、腳本調(diào)試能力、場景制作和管理、場景監(jiān)控、數(shù)據(jù)分析能力和測試結(jié)果管理等?;谝陨细鞣矫娴木C合考慮,我們最終選擇了TheGrinder。下載。它能提供響應時間、吞吐量等性能測度。它有三種進程:工人進程,是由Grinder代理進程創(chuàng)建的,負責執(zhí)行單獨的測試;代理進程,負責管理該機器上的工人進程;控制臺,協(xié)同其他進程工作并收集統(tǒng)計數(shù)據(jù),即使發(fā)送start,reset和stop命令來控制測試的進行,這些命令在Action菜單中可以看到(如圖1)。它有四個獨特的方面:負載生成、請求定義、統(tǒng)計記錄和控制臺。負載生成的原理是這樣的:為了運行一組給定的測試,需要在每個測試機上啟動一個代理進程。該代理進程負責創(chuàng)建許多工人進程。每個工人進程加載一個確定需要運行的測試類型的插件組件,然后啟動多個工人線程。負載的數(shù)目=(代理進程數(shù))×(工人進程數(shù))×(工人線程數(shù))。TheGrinder帶有一個稱為TCPSniffer的工具,通過運行命令:在Grinder中將事務定義為Grinder測試腳本中一個單獨的請求[3],該事務完成對一個login頁面的調(diào)用。TheGrinder控制臺是一個有用的TheGrinder工作方式和報告工具的接口,可以聚集來自工人進程的報告同時收集統(tǒng)計數(shù)據(jù),并以定期的采樣間隔更新其顯示。如圖1所示,選擇標簽Graphs可以圖形顯示事務處理每秒;選擇Result標簽可以以表格形式查看結(jié)果,還可以選擇Sample標簽顯示當前的控制臺采樣間隔間收到的所有報告的總數(shù)。圖1TheGrinder控制臺
3測試前的準備工作3.1測試環(huán)境描述1)硬件列表:①.WEB服務器和DBS(數(shù)據(jù)庫服務器)為一臺機器:型號:P4,內(nèi)存:512M,磁盤:1×80G,OS:Win2000serverwithsp4②.WEB服務器(考場服務器)和數(shù)據(jù)庫服務器各一臺:型號:P4,內(nèi)存:2G,磁盤:2×73.3G,OS:Win2000serverwithsp4③.測試機四臺:型號:P4,內(nèi)存:256M,磁盤:1×40G,OS:WinXPProfessional2)軟件列表:②數(shù)據(jù)庫:Oracle9iRelease2(9.2)forWindows⑤瀏覽器:IE6.03.2定義性能度量標準根據(jù)生成的測試序列的響應時間的參考,對于作業(yè)與考試管理工具的登錄模塊,定義如下的性能度量標準:在所描述的測試環(huán)境下,作業(yè)與考試應用程序能夠以25秒的最大響應時間處理大約1200個同時登錄系統(tǒng)的用戶。3.3定義測試腳本測試腳本的定義分以下幾步:﹡使用TheGrinder自帶的TCPSniffer工具,模擬單個用戶登錄系統(tǒng),生成性能測試腳本中用到的請求序列及要手工輸入的文件。﹡使用TheGrinder的HTTP插件StringBean,通過定義該接口返回不同的帳號和密碼。這樣在以后執(zhí)行測試腳本的時候可以直接調(diào)用字符串bean實例和方法,不需再手工輸入,以達到自動化測試的效果。﹡利用上述步驟的結(jié)果,定義性能測試腳本perties文件。3.4定義采樣方法采樣方法是指如何精確地收集性能數(shù)據(jù),以及哪種度量將對最終分析的結(jié)果有貢獻。在Grinder中有兩種采樣方法:固定的周期數(shù)(周期方法)和固定的時間(快照方法),所選擇的方法依賴于性能測試的目標。周期是指一個模擬用戶對一個測試腳本的完整執(zhí)行[3]。Grinder進行的性能測試分為兩個階段:預備測試和正式測試。預備測試是最初的試探性測試,參見圖2所示,目的是感受一下應用程序的性能并優(yōu)化測試環(huán)境。在進行預備測試的時候,首先使用的是周期方法,在50個并發(fā)用戶登錄系統(tǒng)的測試中,統(tǒng)計出完整執(zhí)行一個測試腳本最慢的測試時間,大約49秒。從而我們判斷收集20個周期的數(shù)據(jù)。系統(tǒng)在第3個周期(大約147秒)內(nèi)穩(wěn)定下來,這可從每個請求序列的執(zhí)行情況看出來:圖2預備測試結(jié)果在后來的100、300、500、800、1000人并發(fā)用戶的正式測試中,可以通過對控制臺相應參數(shù)的配置,使用快照方法來進行測試,采樣間隔為5000毫秒,從第3個周期開始收集數(shù)據(jù),即忽略前面的大約29個采樣樣本,然后再收集240個采樣樣本,即20分鐘的測試時間。
3.5執(zhí)行測試
4
實際性能測試及結(jié)果
作業(yè)與考試管理系統(tǒng)是一個交互性很強的應用程序,因而我選擇用戶和系統(tǒng)交互性強的模塊—學生登錄模塊來測試,具體測試用例見表1。以下測試數(shù)據(jù)是服務器和數(shù)據(jù)庫主機在一臺普通PC機上的情況。在測試過程中500人以下并發(fā)用戶系統(tǒng)可以承受住,但當用戶數(shù)目達到500時,CPU和內(nèi)存的使用量劇增,就會發(fā)生死機,表1中我們只給出500個并發(fā)用戶的測試數(shù)據(jù)。表1500個并發(fā)用戶的測試數(shù)據(jù)功能登錄人數(shù)達到高峰時,用戶登錄系統(tǒng)正常,保證1200個以內(nèi)用戶可以同時訪問作業(yè)與考試管理工具,能夠正常登錄。目的測試系統(tǒng)1200個以內(nèi)的用戶同時登錄系統(tǒng)能否正常進行.方法采用TheGrinder的snifferproxy工具生成登錄請求序列,包括打開登錄頁面,輸帳號、密碼,點擊登錄,進入系統(tǒng)主頁面這三個步驟,在腳本中執(zhí)行每個單獨的請求,分別模擬50、100、300、500、800、1000、1200個用戶同時登錄系統(tǒng)。使用快照數(shù)據(jù)收集方法,設置采樣時間為5秒,即Grinder控制臺每5秒計算一次吞吐量和響應時間的平均值,選擇采樣樣本為240個,即20分鐘的測試時間。計算出在服從各個用戶數(shù)同時登錄系統(tǒng)的平均響應時間及數(shù)據(jù)庫主機和應用服務器的性能。并發(fā)用戶數(shù)與事務執(zhí)行情況并發(fā)用戶數(shù)ART(ms)MART(ms)事務成功率CPU利用率內(nèi)存利用率500818411432797.17%100%68.11%表1中可以看出500個并發(fā)用戶登錄系統(tǒng)頁面的ART,MART等參數(shù)??梢钥闯龃藭rCPU利用率已達到100%,內(nèi)存利用率也達到68。11%,若在增加并發(fā)用戶到1200是不可能的。
5
性能分析、調(diào)整及結(jié)果
影響系統(tǒng)性能的因素有很多:計算機硬件、數(shù)據(jù)庫的訪問速度、Java虛擬機(JavaVirtualMachines,JVM),TCP/IP堆棧、Web服務器、網(wǎng)絡、操作的復雜度等。由于作業(yè)與考試管理工具采用了J2EE核心設計模式,比如會話外觀模式、值對象、服務定位器、快速通道模式等,從而封裝和隱藏業(yè)務細節(jié),使系統(tǒng)的性能得到提高。因而在做性能測試的時候,沒有在該應用程序的代碼和體系結(jié)構上再做調(diào)整,主要從以下幾個方面來優(yōu)化系統(tǒng)性能:5.1在計算機硬件性能和結(jié)構方面所做的調(diào)整最初作業(yè)與考試管理系統(tǒng)軟件是裝在一臺普通的PC機(CPUPIV2.4GHz,內(nèi)存512M)上,當并發(fā)用戶數(shù)目達到500后,服務器就會發(fā)生死機現(xiàn)象;后來新購置了上述測試環(huán)境中所示的服務器,這樣響應時間縮短,事務成功率得到提高(對比表1和表2)。最初將應用服務器和數(shù)據(jù)庫放在同一臺機器上,這樣大量存取數(shù)據(jù)庫時,系統(tǒng)響應速度會特別慢,測試結(jié)果很不理想;后來將WEB服務和DBS服務分開,如測試環(huán)境中所描述的那樣,支持并發(fā)數(shù)大大提高,響應時間縮短,結(jié)果明顯好于以前(對比表1和表2)。新服務器(WEB服務器和數(shù)據(jù)庫分開放在不同機器上)(表2)。
并發(fā)用戶數(shù)與事務執(zhí)行情況并發(fā)用戶數(shù)ART(ms)MART(ms)事務成功率
并發(fā)用數(shù)與數(shù)據(jù)庫
并發(fā)用戶數(shù)與WEB服務器的關系表CPU利用率MEM利用率CPU利用率MEM利用率5006670765099.99%4%39.77%86%39.37%
5.2在Java虛擬機(JVM)參數(shù)方面的調(diào)整-Xms=32m,-Xmx=200m,-XX:MaxPermSize=64m;為了提高性能,充分利用內(nèi)存,我們調(diào)整為:-Xms=256m,-Xmx=256m,-XX:MaxPermSize=128m。設置相等,可以避免在每次垃圾回收后調(diào)整堆內(nèi)存的大小。修改JVM參數(shù)以后,WEB服務器的MEM利用率由39.37%降低到11.6%,詳見表3所示。
表3
并發(fā)用戶數(shù)與事務執(zhí)行情況
并發(fā)用戶數(shù)事務平均響應時間(ms)事務最大響應時間(ms)事務成功率
并發(fā)用戶數(shù)與數(shù)據(jù)庫
并發(fā)用戶數(shù)與應用服務器的關系表CPU利用率MEM利用率CPU利用率MEM利用率5006670765099.99%4%40.84%80%11.06%5.3在應用服務器(WLS)的參數(shù)方面的調(diào)整應用服務器的主要參數(shù)有線程數(shù)、最大會話閑置時間,因配置了數(shù)據(jù)庫連接池,那么還有最大數(shù)據(jù)庫連接數(shù)、最大連接閑置時間等。WLS默認的數(shù)據(jù)庫連接池的個數(shù)為10個,在測試過程中,我們將數(shù)據(jù)庫連接池的個數(shù)調(diào)整到最大100,最小10,事務的成功率由99.99%提高到99.999%,表略。6
結(jié)論通過性能測試及相應的性能優(yōu)化策略的實施,我們最終得到的測試結(jié)果為:作業(yè)與考試管理系統(tǒng)在本測試環(huán)境下能夠以21.9秒的最大響應時間支持1200個以內(nèi)的用戶同時登錄,平均響應時間為17.9秒。登錄系統(tǒng)的成功率平均為99.99%。數(shù)據(jù)庫主機CPU利用率最大為7%,內(nèi)存利用率最大為39.77%;應用服務器主機CPU利用率最小為44%。從以上數(shù)字可以看出,作業(yè)與考試管理工具登錄模塊的性能能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度柴油交易平臺建設與運營合同樣本4篇
- 2025年度旅游度假區(qū)場地租賃及旅游服務合同11篇
- 2024年高端住宅小區(qū)二零二四年度飲用水品質(zhì)提升合同3篇
- 個性化珠寶訂制及保養(yǎng)服務合同書
- 2024藥店藥品銷售經(jīng)理聘用合同范本3篇
- 2025年度酒店餐飲場地租賃轉(zhuǎn)讓意向協(xié)議范本4篇
- 專業(yè)家務助理合作協(xié)議(2024規(guī)范版)
- 2025年智慧城市建設項目土地租賃合同樣本8篇
- 2025年度違法建筑拆除與歷史文化遺產(chǎn)保護合同4篇
- 2025年茶山茶葉加工廠租賃合作協(xié)議范本4篇
- 臨床醫(yī)學院畢業(yè)實習管理-new-new課件
- 阻燃材料的阻燃機理建模
- PLC控制系統(tǒng)合同(2024版)
- CJT 511-2017 鑄鐵檢查井蓋
- ISO15189培訓測試卷及答案
- JJG(交通) 171-2021 超聲式成孔質(zhì)量檢測儀檢定規(guī)程
- 氣象衛(wèi)星技術在軍事中的應用
- 配電工作組配電網(wǎng)集中型饋線自動化技術規(guī)范編制說明
- 介入科圍手術期護理
- 化驗員個人自查自糾報告
- 食品良好操作規(guī)范(GMP)和食品衛(wèi)生標準操作程序(SSOP)課件
評論
0/150
提交評論