grinder壓力測試報告模板_第1頁
grinder壓力測試報告模板_第2頁
grinder壓力測試報告模板_第3頁
grinder壓力測試報告模板_第4頁
grinder壓力測試報告模板_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、xxxxxx有限公司渠道管理系統(tǒng)(cms)壓力測試文檔2007年12月修正記錄創(chuàng)建日期版本號創(chuàng)建人審查人目 錄1. 測試原理42. 測試環(huán)境52.1 測試環(huán)境網(wǎng)絡(luò)拓?fù)鋱D:52.2 硬件列表:52.2.1. web服務(wù)器:52.2.2. 數(shù)據(jù)庫服務(wù)器:52.2.3. 測試機3臺:62.2.4. 其他:62.3軟件列表:63. 測試工具the grinder3介紹64. 定義測試腳本95. 定義采樣方法106. 執(zhí)行測試107. 實際性能測試及結(jié)果118. 性能分析、調(diào)整及結(jié)果129. 結(jié)論1210傭金計算121. 測試原理壓力(負(fù)載)測試技術(shù) 在各種極限情況下對產(chǎn)品進(jìn)行測試 (如很多人同時使用該

2、軟件,或者反復(fù)運行該軟件),以檢查產(chǎn)品的長期穩(wěn)定性。例如,使用壓力測試工具對web服務(wù)器進(jìn)行壓力測試。 本項測試可以幫助找到一些大型的問題,如死機、崩潰 、內(nèi)存泄漏等,因為有些存在內(nèi)存泄漏問題的程序,在運行一兩次時可能不會出現(xiàn)問題,但是如果運行了成千上萬次,內(nèi)存泄漏得越來越多,就會導(dǎo)致系統(tǒng)崩潰?;趈2ee平臺的應(yīng)用程序一般分為兩個基本類別:交互式的即終端用戶與應(yīng)用程序同步交互;批處理或后端應(yīng)用程序即不需要直接與終端用戶交互。對于交互式應(yīng)用程序,性能一般是通過大小和規(guī)劃問題的容量來定義,評測標(biāo)準(zhǔn)可以為同時發(fā)生的用戶數(shù)量和響應(yīng)時間;對于后者,性能統(tǒng)計量是吞吐量,評測標(biāo)準(zhǔn)之一是每秒的事務(wù)處理,而事

3、務(wù)處理在具體的場合定義可能有所不同。比如對于servlet,事務(wù)處理可能為一個請求。而對jms,吞吐量可能就是消息。2. 測試環(huán)境2.1 測試環(huán)境網(wǎng)絡(luò)拓?fù)鋱D:圖表 12.2 硬件列表:2.2.1. web服務(wù)器:型號(sun fire 280r):處理器類型:ultrasparc iii(900hz),內(nèi)存:1g,os: solaris 82.2.2. 數(shù)據(jù)庫服務(wù)器:型號:處理器類型:p4,內(nèi)存:1g,磁盤:40g,os:win2000server2.2.3. 測試機3臺:型號:處理器類型:p4,內(nèi)存:1g,磁盤:×80g,os:winxp professional(分別命名為測試機

4、器一、測試機器二、測試機器三)。2.2.4. 其他:其他網(wǎng)絡(luò)設(shè)備等。2.3軟件列表: 中心應(yīng)用程序服務(wù)器:tomcat 5.5.25 數(shù)據(jù)庫:db2(9) for windows java虛擬機:jre1.6.2 測試工具: the grinder3 瀏覽器:firefox2.0,ie6等3. 測試工具the grinder3介紹the grinder是一個開源的負(fù)載生成/數(shù)據(jù)收集工具,它本身是java應(yīng)用程序,需要在安裝jvm(版本不能低于1.3 )的平臺上運行,可以在下載。下在后的文件為grinder-3.0-beta33.zip,解壓這個包到磁盤上。解壓后的目錄結(jié)構(gòu)為:圖表 2其中“l(fā)i

5、b”目錄下是你運行測試工具是所需要的jar包。因此在系統(tǒng)的環(huán)境變量中添加lib目錄下的所有jar包,如圖所示:圖表 3注:所有的測試機器都要安裝和配置the grinder。grinder能提供響應(yīng)時間、吞吐量等性能測度。它有三種進(jìn)程:工人進(jìn)程,是由grinder代理進(jìn)程創(chuàng)建的,負(fù)責(zé)執(zhí)行單獨的測試;代理進(jìn)程,負(fù)責(zé)管理該機器上的工人進(jìn)程;控制臺,協(xié)同其他進(jìn)程工作并收集統(tǒng)計數(shù)據(jù)。它有四個獨特的方面:負(fù)載生成、請求定義、統(tǒng)計記錄和控制臺。負(fù)載生成的原理是這樣的:為了運行一組給定的測試,需要在每個測試機上啟動一個代理進(jìn)程。該代理進(jìn)程負(fù)責(zé)創(chuàng)建許多工人進(jìn)程。每個工人進(jìn)程加載一個確定需要運行的測試類型的插件

6、組件,然后啟動多個工人線程。負(fù)載的數(shù)目(代理進(jìn)程數(shù))×(工人進(jìn)程數(shù))×(工人線程數(shù))??刂婆_的啟動命令:java net.grinder.console代理進(jìn)程啟動命令:java net.grinder.grinder(默認(rèn)的啟動腳本是當(dāng)前目錄下的perties文件)perties文件中的cesses和grinder.threads屬性分別設(shè)置工人進(jìn)程數(shù)和工人線程數(shù)。the grinder帶有一個稱為tcpproxy的工具,通過運行命令:java net.grinder.tcpproxy console ht

7、tp > grinder.py還要修改瀏覽器的連接設(shè)置如圖所示:圖表 4此時能自動的獲取對應(yīng)與用戶使用瀏覽器做出的http請求的測試腳本項,并生成響應(yīng)的測試腳本條目。在grinder中將事務(wù)定義為grinder測試腳本中一個單獨的請求。the grinder控制臺是一個有用的the grinder工作方式和報告工具的接口,可以聚集來自工人進(jìn)程的報告同時收集統(tǒng)計數(shù)據(jù),并以定期的采樣間隔更新其顯示。如圖所示,選擇標(biāo)簽graphs(圖形)可以圖形顯示事務(wù)處理每秒;選擇result(結(jié)果)標(biāo)簽可以以表格形式查看結(jié)果。圖 54. 定義測試腳本使用the grinder自帶的tcpproxy工具,模

8、擬單個用戶登錄系統(tǒng),生成性能測試腳本中用到的請求序列及要手工輸入的文件。如錄制的腳本文件主要有主頁,登錄頁,登錄后系統(tǒng)頁面,機構(gòu)查詢頁面等請求頁面。錄制并修改三個測試腳本分別的三臺測試機器上運行。在測試機器一上運行測試腳本一,它主要是登錄后進(jìn)行機構(gòu)的查詢,包過模糊查詢和條件查詢。在測試機器二上運行測試腳本二,它主要是登錄后進(jìn)行dm人員的增加。在測試機器三上運行測試腳本三,它主要是登錄后進(jìn)行查詢銀保人員的基本信息,包過模糊查詢和條件查詢。設(shè)置測試機器一的啟動腳本“perties”中的cesses,grinder.threads和grinder.runs

9、分別為2,15和20;設(shè)置測試機器二的啟動腳本“perties”中的cesses,grinder.threads和grinder.runs分別為2,15和20;設(shè)置測試機器三的啟動腳本“perties”中的cesses,grinder.threads和grinder.runs分別為2,20和20;5. 定義采樣方法采樣方法是指如何精確地收集性能數(shù)據(jù),以及哪種度量將對最終分析的結(jié)果有貢獻(xiàn)。 在the grinder中有兩種采樣方法:固定的周期數(shù)(周期方法)和固定的時間(快照方法), 所選擇的方法依賴于性能測試

10、的目標(biāo)。周期是指一個模擬用戶對一個測試腳本的完整執(zhí)行。 6. 執(zhí)行測試java net.grinder.console/啟動the grinder控制臺。java net.grinder.grinder perties /執(zhí)行測試腳本,perties是啟動測試時默認(rèn)的配置文件,也可以。其它一些參數(shù)的設(shè)置請參閱the grinder的官方文檔。可以是設(shè)置三臺測試機中的一臺外數(shù)據(jù)采集機器,即其它兩臺測試機器產(chǎn)生的數(shù)據(jù)都發(fā)送給那一臺機器。這樣更有利用數(shù)據(jù)的采集和整理。具體做法如下:1假設(shè)測試機器一為信息采集的主機,ip地址為

11、1。2在另外兩臺測試機器中,在執(zhí)行測試腳本的目錄中找到perties文件。3打開perties文件,添加下面兩行:grinder.consolehost=1grinder.consoleport=6372grinder.script=ybrwcx1.pygrinder.consolehos的值為測試機器一的ip。grinder.consoleport的值為測試機器一console代理默認(rèn)端口號。grinder.script的值為測試的腳本文件名。4保存后再執(zhí)行測試腳本命令,就可以達(dá)到我們想要的結(jié)果了。注意:測試機在執(zhí)行測試的過程

12、中,可能會出現(xiàn)測試中止的情況,這是由于你在perties配置文件中g(shù)rinder.threads設(shè)置的過多導(dǎo)致內(nèi)存不夠,可以在perties中添加“grinder.jvm.arguments=-mx512m”一行,grinder.jvm.arguments大小據(jù)實際情況而定。7. 實際性能測試及結(jié)果 以下測試數(shù)據(jù)是服務(wù)器和數(shù)據(jù)庫主機在一臺普通pc機上的情況。在測試過程中300人以下并發(fā)用戶系統(tǒng)可以承受住,但當(dāng)用戶數(shù)目達(dá)到500時,cpu和內(nèi)存的使用量劇增,就會發(fā)生應(yīng)用程序崩潰死機等,圖3中我們只給出100個并發(fā)用戶的測試數(shù)據(jù)。圖 6表1 1

13、00個并發(fā)用戶的測試數(shù)據(jù)并發(fā)用戶數(shù)與事務(wù)執(zhí)行情況 web服務(wù)器并發(fā)用戶數(shù)art(ms)事務(wù)成功率cpu利用率(最大)內(nèi)存利用率100218499.94%92%68.11%(不確定)表1中可以看出100個并發(fā)用戶登錄系統(tǒng)頁面的art,mart等參數(shù)??梢钥闯龃藭r系統(tǒng)絕大部分時間還能正常訪問。 8. 性能分析、調(diào)整及結(jié)果影響系統(tǒng)性能的因素有很多:計算機硬件、數(shù)據(jù)庫的訪問速度、java虛擬機(java virtual machines,jvm),tcp/ip堆棧、 web服務(wù)器、網(wǎng)絡(luò)、操作的復(fù)雜度等??梢詮囊韵聨讉€方面來優(yōu)化系統(tǒng)性能(沒有在該應(yīng)用程序的代碼和體系結(jié)構(gòu)上再做調(diào)整):1. 在計

14、算機硬件性能和結(jié)構(gòu)方面所做的調(diào)整2. 將web服務(wù)和dbs服務(wù)分開3. 在java虛擬機(jvm)參數(shù)方面的調(diào)整jvm對性能影響最大的就是其堆的大小及其分配情況。jvm 的堆大小決定了 jvm 花費在收集垃圾上的時間和頻度,通常情況下,我們建議使用可用內(nèi)存(除操作系統(tǒng)和其他應(yīng)用程序占用之外的內(nèi)存)70-80%,為避免堆大小調(diào)整引起的開銷,設(shè)置內(nèi)存堆的最小值等于最大值即:-xms(指定在啟動 jvm 時為堆所分配的內(nèi)存大小)=-xmx(指定 java 解釋器將用于動態(tài)分配對象和數(shù)組的最大堆的大小)。而為了防止內(nèi)存溢出,建議在生產(chǎn)環(huán)境堆大小至少為256m(platform至少512m),實際環(huán)境中512m1g左右性能最佳,2g以上是不可取的。因在測試過程中,通過設(shè)置xms和xmx將參數(shù)調(diào)節(jié)到最佳組合狀態(tài),從而提高系統(tǒng)性能。4. 在應(yīng)用服務(wù)器(如tomcat)的參數(shù)方面的調(diào)整應(yīng)用服務(wù)器的主要參數(shù)有線程數(shù)、最大會話閑置時間,因配置了數(shù)據(jù)庫連接池,那么還有最大數(shù)據(jù)庫連接數(shù)、最大連接閑置時間等。 9. 結(jié)論通過壓力測試及相應(yīng)的性能優(yōu)化策略的實施,我們最終得到的測試結(jié)果為:cms系統(tǒng)在本測試環(huán)境下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論