一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

使用JMeter對Tomcat進(jìn)行壓力測試與Tomcat性能調(diào)優(yōu)

 風(fēng)_宇星 2014-12-08

一、準(zhǔn)備工作。

      1、安裝JDK1.6或1.6版本以后的,并配置環(huán)境變量。

      2、在Apache的官網(wǎng)下載最新的Jmeter,http://jmeter./download_jmeter.cgi,截止目前為止,最新的Jmeter是2.12版本,需要注意的是下載使用的時候不能下載source版本的,必須下載內(nèi)容更加完整的binaray版本的,比如如果下載apache-jmeter-2.12_src.zip,運(yùn)行jmeter.bat時,會出現(xiàn)下面的exception:

unable to access jarfile apachejmeter.jar error value=1

這個exception的原因是apache-jmeter-2.12_src.zip中的bin目錄中,缺少了ApacheJemeter.jar.所以要下載binary版本的。

     3、在Apache的官網(wǎng)上下載Tomcat,本文中以Tomcat7.0.42為例。

 

二、開發(fā)一個簡單的J2EE工程,可以是基于Servlet的,可以是基于Spring等MVC框架的,而且不需要實(shí)現(xiàn)什么樣的功能,只需要滿足用戶訪問http://localhost:9999時,瀏覽器中能夠輸出(index.html)Hello World或者其它任何內(nèi)容。

 

三、開始在Jmeter中配置模擬對Tomcat的index.html(localhost:9999)進(jìn)行并發(fā)訪問。

首先是使用Tomcat 7.0.42的默認(rèn)配置

1、選中Test Plan,點(diǎn)擊Edit菜單按鈕,選擇Add操作,選擇Thread(Users),然后選擇Thread Group創(chuàng)建一個線程組。

2、選中Thread Group,點(diǎn)擊Edit菜單按鈕,選擇Add操作,選擇Sampler,并選擇Http Request。

3、選中Test Group,點(diǎn)擊Edit菜單安丘,選擇Add操作,選擇Listener,然后分別添加Aggregate Graph(聚集圖形),View Results Tree(查看結(jié)果樹)。



 

3、不修改Tomcat的默認(rèn)配置,啟動Tomcat,由于默認(rèn)的Tomcat運(yùn)行在8080端口,將上面的9999端口先改回8080或者遵照后面點(diǎn)的步驟將Tomcat默認(rèn)的8080端口改為9999。

 

4、啟動Tomcat。

 

5、點(diǎn)擊上面的綠色執(zhí)行按鈕執(zhí)行該測試計劃。



 

由測試線程組可知,Jemeter將模擬150000個線程請求不斷的訪問localhost:8080。執(zhí)行10分鐘后,運(yùn)行結(jié)果截圖可得:



 下面將詳解這個聚合報告中的每個參數(shù):

1)Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,label顯示的就是 Name 屬性的值 

2)#Samples:表示你這次測試中一共發(fā)出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100,這里顯示的應(yīng)該是150000而不是172649,之所以是172649,是因?yàn)槲抑虚g點(diǎn)擊停止,然后又再原來的基礎(chǔ)上重新開始執(zhí)行。

3)Average:平均響應(yīng)時間——默認(rèn)情況下是單個 Request 的平均響應(yīng)時間,當(dāng)使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應(yīng)時間 

4)Median:中位數(shù),也就是 50% 用戶的響應(yīng)時間 

5)90% Line:90% 用戶的響應(yīng)時間 

 

6)Min:最小響應(yīng)時間 

7)Max:最大響應(yīng)時間 

8)Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù) 

9)Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數(shù) 

10)KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當(dāng)于LoadRunner中的Throughput/Sec 
這里我們可以看到,在這172649多次的訪問之中,tomcat的訪問出錯率是0.15%,即大概有100多次的請求是由于忙碌而失敗了的。當(dāng)然,這只是一個參考,具體還要根據(jù)軟硬件的條件才能最終確定下來。

 

對Tomcat進(jìn)行調(diào)優(yōu)后再用Jmeter進(jìn)行測試

1、增加Tomcat對JVM內(nèi)存的分配:即調(diào)整虛擬內(nèi)存 


Linux: 
在/usr/local/tomcat_home/bin目錄下的catalina.sh 
添加:JAVA_OPTS='-Xms1024m -Xmx2048m' 
要加“m”說明是MB,否則就是KB了,在啟動tomcat時會報內(nèi)存不足。 
-Xms:初始值 
-Xmx:最大值 
-Xmn:最小值 

Windows: 

在catalina.bat最前面加入 
set JAVA_OPTS=-Xms1024m -Xmx2048m 
如果用startup.bat啟動tomcat,OK設(shè)置生效。夠成功的分配2048M內(nèi)存. 
但是如果不是執(zhí)行startup.bat啟動tomcat而是利用windows的系統(tǒng)服務(wù)啟動tomcat服務(wù),上面的設(shè)置就不生效了,就是說set JAVA_OPTS=-Xms1024m -Xmx2048m沒起作用。
windows服務(wù)執(zhí)行的是bin\tomcat.exe.他讀取注冊表中的值,而不是catalina.bat的設(shè)置.。
解決辦法: 
修改注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat7\Parameters\JavaOptions 
原值為 
-Dcatalina.home="C:\ApacheGroup\Tomcat 7.0.42" 
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 7.0.42\common\endorsed" 
-Xrs 
加入 -Xms1024m -Xmx2048m 
重起tomcat服務(wù),設(shè)置生效 

 

2、修改線程池并將默認(rèn)的8080端口修改為9999端口。

即將默認(rèn)的

Java代碼  收藏代碼
  1. <Connector port="8080" protocol="HTTP/1.1"  
  2.                connectionTimeout="20000"  
  3.                redirectPort="8443" />  

 修改為:

Xml代碼  收藏代碼
  1. <Connector port="9999" redirectPort="8443"      
  2.    maxHttpHeaderSize="8192" useBodyEncodingForURI="true"      
  3.    minProcessors="100" maxProcessors="5000"      
  4.    maxThreads="5000" minSpareThreads="1000" maxSpareThreads="4000"      
  5.    enableLookups="false" acceptCount="3500"      
  6.    compression="on" compressionMinSize="2048"      
  7.    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"      
  8.    connectionTimeout="60000" disableUploadTimeout="true" debug="0" URIEncoding="UTF-8"/>  

 3. 禁用DNS查詢 

 當(dāng)web應(yīng)用程序向要記錄客戶端的信息時,它也會記錄客戶端的IP地址或者通過域名服務(wù)器查找機(jī)器名轉(zhuǎn)換為IP地址。DNS查詢需要占用網(wǎng)絡(luò),并且包括可能從很多很遠(yuǎn)的服務(wù)器或者不起作用的服務(wù)器上去獲取對應(yīng)的IP的過程,這樣會消耗一定的時間。為了消除DNS查詢對性能的影響我們可以關(guān)閉 DNS查詢,方式是修改server.xml文件中的enableLookups參數(shù)值: 將其設(shè)置為false。

4、修改完后,重啟tomcat。

5、在Jmeter的Thread Group中將上面的8080改成9999.

6、重新執(zhí)行Jmeter,執(zhí)行10分鐘后,保存執(zhí)行結(jié)果,得到如下的執(zhí)行結(jié)果:




對比調(diào)優(yōu)后的執(zhí)行結(jié)果,發(fā)現(xiàn)Tomcat的吞吐率得到了相當(dāng)?shù)奶嵘?,平均?zhí)行時間大大減少了。

 

 

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日本成人中文字幕一区| 亚洲中文字幕熟女丝袜久久| 亚洲高清中文字幕一区二区三区| 欧美日韩人妻中文一区二区 | 国产精品欧美一区二区三区不卡| 天堂网中文字幕在线观看| 日韩欧美91在线视频| 成人精品国产亚洲av久久| 国产又猛又黄又粗又爽无遮挡| 嫩草国产福利视频一区二区| 91香蕉国产观看免费人人| 欧美丰满大屁股一区二区三区 | 中文字幕日产乱码一区二区| 亚洲夫妻性生活免费视频| 中国一区二区三区人妻| 在线免费视频你懂的观看| 久久精品福利在线观看| 日本加勒比在线观看不卡| 国产又大又硬又粗又湿| 日韩精品中文在线观看| 中文字幕日产乱码一区二区| 国产精品久久女同磨豆腐| 日本精品视频一二三区| 亚洲国产黄色精品在线观看 | 人妻久久这里只有精品| 加勒比日本欧美在线观看| 手机在线观看亚洲中文字幕| 亚洲欧美精品伊人久久| 精品国产品国语在线不卡| 国产av天堂一区二区三区粉嫩| 国产精品夜色一区二区三区不卡| 精品人妻少妇二区三区| 五月激情综合在线视频| 欧美日韩在线观看自拍| 美女被啪的视频在线观看| 久七久精品视频黄色的| 欧美综合色婷婷欧美激情| 精品国产品国语在线不卡| 黄片在线免费看日韩欧美| 国产专区亚洲专区久久| 国产视频在线一区二区|