您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > Jmeter
JMeter在Web Services性能測試中的應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/2/22 13:52:20 ] 推薦標(biāo)簽:

  響應(yīng)時(shí)間很明顯地隨著線程的增加而增加。若要繼續(xù)進(jìn)行測試,我們可以更改線程數(shù)、等候周期和循環(huán)數(shù)。注意:我們沒有更改或調(diào)整服務(wù)器的配置。WebLogic Server 9.0中有一個(gè)可自動(dòng)配置的線程池,其配置范圍受到限制(請參閱Naresh Revanuru撰寫的 Workload Management in WebLogic Server 9.0 ,Dev2Dev),上表說明客戶端數(shù)量的增長對(duì)服務(wù)器響應(yīng)時(shí)間的影響是非線性的。實(shí)際上,將這個(gè)數(shù)字提高兩倍或十倍不會(huì)產(chǎn)生明顯的影響!然而,使用接近或超過默認(rèn)服務(wù)器限制的線程數(shù)來運(yùn)行同一個(gè)試驗(yàn)時(shí)應(yīng)引起注意。為了檢驗(yàn)從服務(wù)器收到的響應(yīng)是真實(shí)的SOAP響應(yīng)而不是HTTP錯(cuò)誤,我們觀察下列輸出文件的內(nèi)容。這是符合上面要求的SOAP響應(yīng):

  為了使測試結(jié)果更加可視化,向計(jì)劃中添加Spline Visualizer,它緊靠著Graph Results。Spline Visualizer提供了關(guān)于所有樣本次數(shù)的視圖。它用分段插入功能繪制出一條連續(xù)的線,在繪制時(shí)跨越10個(gè)點(diǎn),每個(gè)點(diǎn)代表10?的樣本。在樣條圖表中用直線取代連接點(diǎn),提供了基于多項(xiàng)式近似算法的平滑分布視圖。結(jié)果如圖7所示

圖7:使用Spline Visualizer說明與圖6相同測試結(jié)果的圖表

Multiple JMeters

  JMeter還具有一項(xiàng)十分有用的Remote Start功能,它允許用戶從多臺(tái)機(jī)器啟動(dòng)JMeter測試?蛻舳酥鳈C(jī)地址可以輸入到位于bin文件夾下的“jmeter.properties”文件中。找到remote_hosts屬性并在那里添加遠(yuǎn)程主機(jī)名稱,使用逗號(hào)進(jìn)行分隔。重新啟動(dòng)Jmeter,在Run菜單中單擊Remote Start或Remote Start All。某些Web和應(yīng)用程序服務(wù)器可連續(xù)處理同一個(gè)IP地址的多個(gè)請求以及并行處理不同IP地址的請求,因此,對(duì)于請求來自不同的機(jī)器或?qū)y試負(fù)載分布到幾個(gè)客戶端顯得十分關(guān)鍵的情況,可以使用該選項(xiàng)來執(zhí)行操作。

其他功能

  前面已經(jīng)提到,Jmeter包含HTTP、FTP和 LDAP取樣器。創(chuàng)建這些請求是一項(xiàng)簡單的任務(wù),Jmeter用戶手冊中作了詳細(xì)說明;它通常包括創(chuàng)建Thread Group、添加取樣器、定時(shí)器和監(jiān)聽器。下面我們介紹一些有關(guān)這些標(biāo)準(zhǔn)取樣器之外的、可能需要一些非標(biāo)準(zhǔn)配置步驟的功能。

腳本

  特別支持Java請求和BeanShell腳本的自定義測試和腳本是JMeter的另一個(gè)功能,它為負(fù)載測試開發(fā)人員提供了更大的靈活性。我們可以創(chuàng)建腳本化測試并將其作為一個(gè)Java類進(jìn)行編譯,然后將其傳遞給JMeter運(yùn)行。為了使用BeanShell腳本功能,需要下載BeanShell jar并將其放置在/lib目錄下面,以便JMeter在運(yùn)行時(shí)可以選取它。用戶可以使用Java取樣器中的beanshell API,或者創(chuàng)建BeanShell取樣器,由它讀取文件中的腳本或處理文本框中所鍵入的命令。下面的代碼樣本說明了添加到HTTP取樣器中的BeanShell斷言。用戶可以對(duì)基于HTTP請求的響應(yīng)的測試執(zhí)行過程進(jìn)行分析和控制。一個(gè)好的方案應(yīng)該創(chuàng)建具有線程組的測試計(jì)劃,并在計(jì)劃的時(shí)間循環(huán)啟動(dòng)負(fù)載測試。請求將點(diǎn)擊Web服務(wù)器并獲得其響應(yīng)。

  響應(yīng)可用添加到測試計(jì)劃的BeanShell斷言進(jìn)行記錄,它緊靠著HTTP取樣器,如果Web服務(wù)器響應(yīng)與某個(gè)條件相匹配,也是說,如果成功或包含了預(yù)期的字符串,則腳本會(huì)停止測試或線程,否則將繼續(xù)執(zhí)行。

JMS應(yīng)用程序

  為了使用JMeter對(duì)JMS應(yīng)用程序進(jìn)行負(fù)載測試,要下載ActiveMQ jar并將其復(fù)制到/lib目錄。根據(jù)前面的測試,我們首先創(chuàng)建線程組,并添加JMS Point-to-Point樣本。JMS Point-to-Point對(duì)話框需要填寫下列參數(shù):QueueConnection Factory、JNDI Name Request隊(duì)列和JNDI Name Receive隊(duì)列。例如,我們可以使用WebLogic示例服務(wù)器上安裝的JMS模塊中的參數(shù);在這種情況下,它們?yōu)閣eblogic.examples.jms.QueueConnectionFactory和weblogic.examples.jms.exampleQueue。我們也可以創(chuàng)建自定義的JMS連接工廠和隊(duì)列。對(duì)于WebLogic服務(wù)器,我們還需要添加 weblogic.jndi.WLInitialContextFactory作為初始Context Factory值和Provider URL,通常情況下,其形式為:t3://hostname:7001,例如:t3://localhost:7001。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd