<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
maxHttpHeaderSize:HTTP請求和響應頭的最大量,以字節為單位,默認值為4096字節
maxThreads="150" :允許最多的線程數
minSpareThreads:設當連接器第一次啟協創建線程的數目,確保至少有這么多的空閑線程可用。默認值為4
maxSpareThreads:允許存在空閑線程的最大數目,默認值為50
enableLookups:調用request、getRemoteHost()執行DNS查詢,以返回遠程主機的主機名,如果設置為false,則直接返回IP地址。
redirectPort:如連接器不支持SSL請求,如收到SSL請求,Catalina容器將會自動重定向指定的端口號,讓其進行處理。
acceptCount:當所有的可能處理的線程都正在使用時,在隊列中排隊請求的最大數目。當隊列已滿,任何接收到的請求都會被拒絕,默認值為10
isableUploadTimeOut:允許Servlet容器,正在執行使用一個較長的連接超時值,以使Servlet有較長的時間來完成它的執行,默認值為false
URIEncoding,用于解碼URI查詢參數,默認為false
<Engine>元素: <Engine name=”Cataline” defaultHost=”localhst”>
為特定的Service處理所有的請示。每個Service只能包含一個Engine元素,它負責接收和處理此Service所有的連接器收到的請求,向連接發回響應,
并最終顯示在客戶端。<Engine>至少有一個<Host>元素,必須至少有一個<Host>屬性的名字與defaultHost指定的名字相匹配。
name:指定Engine的邏輯名字(必須)
defaultHost:默認主機名,值必須與<Service>的name值相匹配
className:實現org.apache.catalina.Engine接口,默認實現類為org.apache.catalina.core.StandardEngine類
jvmRoute:在負載勻衡中使用的標識符,必須唯一
<Host>元素: <Host name=”localhst” appBase=”webapps” unpackWARs=”true” autoDeploy=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
appBase:設定應用程序的基目錄,絕對路徑或相對于%CATALINA_HOME%的路徑名
autoDeploy:指示Tomcat運行時,如有新的WEB程序加開appBase指定的目錄下,是否為自動布署,默認值為true
name:虛擬主機的網絡名(必須)
unPackWARs:虛擬主機指定臨時讀寫使用的目錄的路徑名,不設,Tomcat會在%CATALINA_HOME%/work目錄下提供一個合適的目錄。
<context>元素: <Content path=”/ouser-web” docBase="ouser-web" reloadable=”true” />
path:指定上下文路徑。一個虛擬主機中,上下文路徑必須唯一
docBase:絕對路徑或相對于Host的appBase 屬性的相對路徑
reloadable:為true,Tomcat運行時,如果WEB-INF/classes和WEB-INF/lib目錄中有改變,Tomcat會自動重新加載該WEB應用程序。
雖方便,但開銷也大,默認值為false,我們在調用可以打開,發布后再關閉。
Tomcat 性能優化方案 一. 提高JVM棧內存Increase JVM heap memory JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC" -Xms – 指定初始化時化的棧內存 -Xmx – 指定最大棧內存 在重啟你的Tomcat服務器之后,這些配置的更改才會有效。 一般他們的值是相通的 二. 解決JRE內存泄漏 Tomcat版本6.0.26及以上 包含了一個監聽器來處理JRE和PermGen的內存泄漏 <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 三. 線程池設置 線程池指定Web請求負載的數量 <Connector port="8080" address="localhost" 2 maxThreads="250" maxHttpHeaderSize="8192" 3 emptySessionPath="true" protocol="HTTP/1.1" 4 enableLookups="false" redirectPort="8181" acceptCount="100" 5 connectionTimeout="20000" disableUploadTimeout="true" /> 這指定可以由服務器處理的并發請求的最大數量。如果沒有指定,這個屬性的默認值為“200 任何多出的并發請求將收到“拒絕連接”的錯誤提示,直到另一個處理請求進程被釋放。錯誤看起來如下, org.apache.tomcat.util.threads.ThreadPool logFull SEVERE: All threads (250) are currently busy, waiting. Increase maxThreads (250) or check the servlet status 如果應用提示上述錯誤,務必檢查上述錯誤是否是由于單個請求花費太長時間造成的,這個問題的原因是這樣的, 有時候如果數據庫連接不釋放的話,進程將不會處理其它請求。 四. 壓縮 omcat有一個通過在server.xml配置文件中設置壓縮的選項。壓縮可以在connector像如下設置中完成, <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8181" compression="500" compressableMimeType="text/html,text/xml,text/plain,application/octet-stream" /> 在前面的配置中,當文件的大小大于等于500bytes時才會壓縮。如果當文件達到了大小但是卻沒有被壓縮, 那么設置屬性compression="on"。否則Tomcat默認設置是“off”。
設置TOMCAT的GZIP壓縮 HTTP 壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求服務器對應資源后, 從服務器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮并瀏覽。相 對于普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節省40%左右的流量。更為重要的是, 它可以對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率也很高 Tomcat5.0以后支持 修改%TOMCAT_HOME%/conf/server.xml,修訂節點如下: <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" executor="tomcatThreadPool" URIEncoding="utf-8" compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" /> 從上面節點的屬性可以看出,要使用gzip壓縮功能,你需要在Connector節點中加上如下屬性 1. compression="on" 打開壓縮功能 2. compressionMinSize="50" 啟用壓縮的輸出內容大小,默認為2KB 3. noCompressionUserAgents="gozilla, traviata" 對于以下的瀏覽器,不啟用壓縮 4. compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些資源類型需要壓縮 備注:如果發現內容沒有被壓縮,可以考慮調整compressionMinSize大小,如果請求資源小于這個數值,則不會啟用壓縮。
原創文章,作者:心肝壞了,如若轉載,請注明出處:http://www.www58058.com/41926