很多時候丙唧,明明自己的服務(wù)器配置很高愈魏,可是在高并發(fā)時的性能并不好,這個時候就要考慮是不是TOMCAT服務(wù)器的性能限制了并發(fā)想际。
Tomcat的server.xml中連接器設(shè)置如下
1.<Connectorport="8080"
2.? ?? ?? ?? ?? ?? ?maxThreads="150" minSpareThreads="25" maxSpareThreads="75"? ???
3.? ?? ?? ?? ?? ?? ?enableLookups="false" redirectPort="8443" acceptCount="100"? ???
4.? ?? ?? ?? ?? ?? ?debug="0" connectionTimeout="20000"? ?? ?
5.? ?? ?? ?? ?? ?? ?disableUploadTimeout="true"/>
tomcat在配置時設(shè)置最大線程數(shù)培漏,當(dāng)前線程數(shù)超過這個數(shù)值時會出錯,那么有沒有辦法捕獲到這個錯誤沼琉,從而在client端顯示出錯信息北苟?
2. 如何加大tomcat連接數(shù)
在tomcat配置文件server.xml中的配置中桩匪,和連接數(shù)相關(guān)的參數(shù)有:
minProcessors:最小空閑連接線程數(shù)打瘪,用于提高系統(tǒng)處理性能,默認(rèn)值為10
maxProcessors:最大連接線程數(shù),即:并發(fā)處理的最大請求數(shù)闺骚,默認(rèn)值為75
acceptCount:允許的最大連接數(shù)彩扔,應(yīng)大于等于maxProcessors,默認(rèn)值為100
enableLookups:是否反查域名僻爽,取值為:true或false虫碉。為了提高處理能力,應(yīng)設(shè)置為false
connectionTimeout:網(wǎng)絡(luò)連接超時胸梆,單位:毫秒敦捧。設(shè)置為0表示永不超時,這樣設(shè)置有隱患的碰镜。通尘ぢ眩可設(shè)置為30000毫秒。
其中和最大連接數(shù)相關(guān)的參數(shù)為maxProcessors和acceptCount绪颖。如果要加大并發(fā)連接數(shù)秽荤,應(yīng)同時加大這兩個參數(shù)。
web server允許的最大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設(shè)置柠横,通常Windows是2000個左右窃款,Linux是1000個左右。tomcat5中的配置示例:
maxThreads="150" minSpareThreads="25"maxSpareThreads="75"
enableLookups="false" redirectPort="8443"acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
對于其他端口的偵聽配置牍氛,以此類推晨继。
3. tomcat中如何禁止列目錄下的文件
在{tomcat_home}/conf/web.xml中,把listings參數(shù)設(shè)置成false即可糜俗,如下:
1.<init-param>
2.<param-name>listings</param-name>
3.<param-value>false</param-value>
4.</init-param>
4.如何加大tomcat可以使用的內(nèi)存
tomcat默認(rèn)可以使用的內(nèi)存為128MB踱稍,在較大型的應(yīng)用項目中,這點(diǎn)內(nèi)存是不夠的悠抹,需要調(diào)大珠月。
Unix下,在文件{tomcat_home}/bin/catalina.sh的前面楔敌,增加如下設(shè)置:
JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】'
需要把這個兩個參數(shù)值調(diào)大啤挎。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為512MB