1.tomcat的配置:
a.修改tomcat的最大連接配接數,提升并發處理能力.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" enableLookups="false"
acceptCount="1000"
maxThreads="300"
minSpareThreads="25" maxSpareThreads="75"
/>
上例子中,設定tomcat的最大連接配接數為1000(最大連接配接數同時受到作業系統能核心的限制).同時最多處理請求數為300.minSpareThreads的含義是,即使所維持的線程池線程最小數,初始化的時候建立線程數為25.maxSpareThreads為75的含義一旦建立的線程超過75,tomcat開始嘗試清理不再需要的線程.enableLookups設為false停用域名解析功能,不将進行請求的客戶機的域名轉換為IP.
b.修改tomcat運作的JVM參數.
set JAVA_OPTS=-server -Xmx1024m -Xms512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
在catalina.bat中添加JVM運作參數如上.使tomcat運作于server mode.增加tomcat的最大使用記憶體為1024m,初始使用記憶體為512m.調整對象堆的大小,XX:MaxNewSize調整Young Generation的堆大小為256m,用于存儲建立對象.XX:MaxPermSize調整為256m,以應對web程式可能需要加載較多類庫.
2.tomcat的管理
a.Web
tomca提供了http://[ip]:[port]/manager/status 對tomcat進行監控,http:// [ip]:[port] /manager/html進行程式部署的管理.具有manager-gui角色的使用者可以登入進行管理.可以進行的操作包括:運作資料的檢視,程式的部署,解除安裝,停止,啟動,重新開機.可以檢視Connector的運作資料,如,請求處理時間,目前連接配接數等.
<tomcat-users>
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,manager-script,manager-jmx"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
b.使用jmx對tomcat運作資料進行監控.
在啟動的時候加入一下啟動參數:
set JAVA_OPTS=-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8998
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
開啟jmx服務需要配置jre\lib\management下的jmxremote.access,jmxremote.password檔案.将jmxremote.password檔案的權限設定僅僅目前使用者可讀,文檔原文為:"The password file should be read-only and only accessible by the operating system user Tomcat is running as."
開啟jmx服務之後,可以使用jconsole或者jvisualvm工具對tomcat運作時的jvm資料進行監控.如果開啟了jmx的readwrite權限,也可以編寫代碼對tomcat進行管理,比如停止或者啟動web應用.