生活随笔
收集整理的這篇文章主要介紹了
tomcat6 优化初步
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
必須要配置環境變量 才可以使用 Apache Portable Runtime 技術
http://tomcat.apache.org/download-native.cgi
如果使用的是解壓方式的tomcat
則需要自己將tcnative-1.dll拷貝到 %TOMCAT_HOME%\bin 目錄下
同時設置環境變量
TOMCAT_HOME C:\tomcat6.0
CATALINA_HOME C:\tomcat6.0
CATALINA_BASE C:\tomcat6.0
PATH %TOMCAT_HOME%\bin
CLASSPATH %CATALINA_HOME%\common\lib\servlet.jar
2 為了提高安全性,一般情況下屏蔽 AJP
注釋或者刪除server.xml中的 Connector節點
Xml代碼 ?
<Connector?port="8009"?protocol="AJP/1.3"?redirectPort="8443"?/>?? <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3 內存設置
Windows環境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件開頭增加如下設置:set JAVA_OPTS=-Xms256m -Xmx512m
Linux環境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件開頭增加如下設置:JAVA_OPTS='-Xms256m -Xmx512m'
4 HTTP優化配置 server.xml
仔細看server.xml.其實里面都有,只是默認給注釋掉了,下面是參數說明
name
這個是線程池的名字,必須唯一,后面會用到
namePrefix
線程的名字前綴,用來標記線程名字的,
maxThreads
允許的最大線程池里的線程數量,默認是200,一般設置高一些,限制并不占用資源
minSpareThreads
最小的保持活躍的線程數量,默認是25
maxIdleTime
超過最小活躍線程數量的線程,如果空閑時間超過這個設置后,會被關別。默認是1分鐘(60000毫秒)。
threadPriority
線程的等級。默認是Thread.NORM_PRIORITY
Xml代碼 ?
<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-"???????????maxThreads="5000"?minSpareThreads="500"/>????????<Connector?executor="tomcatThreadPool"??????port="88"?protocol="HTTP/1.1"???????connectionTimeout="20000"???????redirectPort="8443"?/>?? <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/><Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
5 禁用DNS查詢 enableLookups="false"
當web應用程序向要記錄客戶端的信息時,它也會記錄客戶端的IP地址或者通過域名服務器查找機器名轉換為IP地址。
DNS查詢需要占用網絡,并且包括可能從很多很遠的服務器或者不起作用的服務器上去獲取對應的IP的過程,這樣會消耗一定的時間。
為了消除DNS查詢對性能的影響我們可以關閉DNS查詢,方式是修改server.xml文件中的enableLookups參數值
Xml代碼 ?
<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-"???????????maxThreads="5000"?minSpareThreads="500"/>????????<Connector?executor="tomcatThreadPool"??????port="88"?protocol="HTTP/1.1"???????connectionTimeout="20000"???????enableLookups="false"???????redirectPort="8443"?/>?? <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/><Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" enableLookups="false" redirectPort="8443" />
6 設置容器處理代碼,解決亂碼問題
Xml代碼 ?
<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-"???????????maxThreads="5000"?minSpareThreads="500"/>??<Connector?executor="tomcatThreadPool"??????port="88"?protocol="HTTP/1.1"???????connectionTimeout="20000"???????URIEncoding="UTF-8"??????useBodyEncodingForURI="true"??????enableLookups="false"???????redirectPort="8443"?/>?? <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="5000" minSpareThreads="500"/>
<Connector executor="tomcatThreadPool"port="88" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8"useBodyEncodingForURI="true"enableLookups="false" redirectPort="8443" />
7 自動加載 修改conf/context.xml
Xml代碼 ?
<Context?reloadable="true">?? <Context reloadable="true">
8 Tomcat配置服務器
Xml代碼 ?
<Context?path="/text"?docBase="f:\text\11"?debug="0"?reloadable="true"/>?? <Context path="/text" docBase="f:\text\11" debug="0" reloadable="true"/>
9 自定義部署目錄,在Engine節點添加
Xml代碼 ?
<Host?name="www.huadepengye.com"?appBase="D:\Myweb"?unpackWARs="true"?autoDeploy="true">????????<Context?path=""?docBase="D:\Myweb\HDPYWeb"/>????</Host>??
轉載于:https://www.cnblogs.com/zhouwenwu/archive/2011/12/30/2307586.html
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的tomcat6 优化初步的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。