性能測試之Tomcat優化

性能測試之Tomcat優化

Tomcat優化

1.Tomcat最大連接數等配置

Tomcat的server.xml中Context元素的以下參數都是什麼意思?

maxThreads="150"

minSpareThreads="25"

maxSpareThreads="75"

acceptCount="100"

/>

maxThreads="150" 表示最多同時處理150個連接

minSpareThreads="25" 表示即使沒有人使用也開這麼多空線程等待

maxSpareThreads="75" 表示如果最多可以空75個線程,例如某時刻有80人訪問,之後沒有人訪問了,則tomcat不會保留80個空線程,而是關閉5個空的。

acceptCount="100" 當同時連接的人數達到maxThreads時,還可以接收排隊的連接,超過這個連接的則直接返回拒絕連接。

另外:

在tomcat配置文件server.xml中的配置中,和連接數相關的參數有:

minProcessors:最小空閒連接線程數,用於提高系統處理性能,默認值為10

maxProcessors:最大連接線程數,即:併發處理的最大請求數,默認值為75

acceptCount:允許的最大連接數,應大於等於maxProcessors,默認值為100

enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應設置為false

connectionTimeout:網絡連接超時,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通常可設置為30000毫秒。

其中和最大連接數相關的參數為maxProcessors和acceptCount。如果要加大併發連接數,應同時加大這兩個參數。

2.Tomcat內存

基本原理:JAVA程序啟動時都會JVM 都會分配一個初始內存和最大內存給這個應用程序。這個初始內存和最大內存在一定程度都會影響程序的性能。比如說在應用程序用到最大內存的時候,JVM是要 先去做垃圾回收的動作,釋放被佔用的一些內存。 所以想調整Tomcat的啟動時初始內存和最大內存就需要向JVM聲明,一般的JAVA程序在運行都可以通過中-Xms -Xmx來調整應用程序的初始內存和最大內存。

方法1:如果是使用的tomcat_home/bin/catalina.sh(linux)或catalina.bat(win)啟動的:

修改相應文件,加上下面這句:

JAVA_OPTS='$JAVA_OPTS -server -Xmx800m -Xms512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'--ms是最小內存,mx是最大內存。這裡設置最小內存為512M,最大內存為 800M。$JAVA_OPTS是保留先前設置。 CATALINA_OPTS似乎可以與JAVA_OPTS不加區別的使用。[對於catalina.bat則是如此設置: set JAVA_OPTS=-Xms1024m -Xmx1024m

方法2:如果使用的winnt服務啟動:

在命令行鍵入regedit,找到 HKEY_LOCAL_MACHINE-->SOFTWARE-->Apache Software Foundation-->Procrun 2.0-->Tomcat5-->Parameters的Java,

修改Options的值,新添加屬性:

-Xms64m

-Xmx128m 或者直接修改JvmMx(最大內存)和JvmMs(最小內存)。


分享到:


相關文章: