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