我這有個系統是以tomcat5.5+sqlserver2000配置的。我將tomcat使用的初始內存和最大內存分別設置為100M和1024M,然后通過server.xml修改相關的線程數,但minSpareThreads和maxSpareThreads設置的很大或者應經足夠小了,通過壓力測試,看tomcat5.exe進程占用的內存數的走向圖沒有什么變化,比如通過壓力測試可以使tomcat占到最大800M內存,而壓力測試過后放置一晚上tomcat會回落并一直保持在600M。
但通過下面的解釋tomcat占用的內存是否應該有變化
minSpareThreads Tomcat初始化時創建的線程數。
maxSpareThreads 一旦創建的線程超過這個值,Tomcat就會關閉不再需要
的socket線程。
下面是我分別設置的線程參數
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080"
maxHttpHeaderSize="8192"
maxThreads="10000" minSpareThreads="1000" maxSpareThreads="2000"
enableLookups="false" redirectPort="8443" acceptCount="10000"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080"
maxHttpHeaderSize="8192"
maxThreads="10000" minSpareThreads="50" maxSpareThreads="100"
enableLookups="false" redirectPort="8443" acceptCount="10000"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
|