、Tomcat內存優化:
Tomcat內存優化主要是對tomcat啓動參數優化,可以修改catalina.sh中設置JAVA_OPTS參數
1.JAVA_OPTS參數說明
-server 啓用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
配置如下:
[root@server3 bin]# vim /usr/local/tomcat8.0/bin/catalina.sh
97行 JAVA_OPTS='-server -Xms1024m -Xmx1024m'
、Tomcat併發優化
1、Tomcat配置文件server.xml中<Connector .../>
2、參數說明:
minProcessors:最小空閒連接線程數,用於提高系統處理性能,默認值爲 10
maxProcessors:最大連接線程數,即:併發處理的最大請求數,默認值爲 75
acceptCount:允許的最大連接數,應大於等於 maxProcessors ,默認值爲 100
enableLookups:是否反查域名,取值爲: true 或 false 。爲了提高處理能力,應設置爲 false
connectionTimeout:網絡連接超時,單位:毫秒。設置爲 0 表示永不超時,這樣設置有隱患的。通常可設置爲 30000 毫秒。
其中和最大連接數相關的參數爲maxProcessors 和 acceptCount 。如果要加大併發連接數,應同時加大這兩個參數。
web server允許的最大連接數還受制於操作系統的內核參數設置,通常 Windows 是 2000 個左右, Linux 是 1000 個左右。
maxThreads 客戶請求最大線程數
minSpareThreads Tomcat初始化時創建的 socket 線程數
maxSpareThreads Tomcat連接器的最大空閒 socket 線程數
enableLookups 若設爲true, 則支持域名解析,可把 ip 地址解析爲主機名
redirectPort 在需要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 端口
acceptAccount 監聽端口隊列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads )
connectionTimeout 連接超時
minProcessors 服務器創建時的最小處理線程數
maxProcessors 服務器同時最大處理線程數
URIEncoding URL統一編碼
給Tomcat配置gzip壓縮(HTTP壓縮)功能
compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" |
HTTP 壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求網頁後,從服務器端將網頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。相對 於普通的瀏覽過程HTML,CSS,Javascript , Text ,它可以節省40%左右的流量。更爲重要的是,它可以對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率驚人。
1)compression="on" 打開壓縮功能
2)compressionMinSize="2048" 啓用壓縮的輸出內容大小,這裏面默認爲2KB
3)noCompressionUserAgents="gozilla, traviata" 對於以下的瀏覽器,不啓用壓縮
4)compressableMimeType="text/html,text/xml" 壓縮類型
配置如下:
69 <Connector port="8080" protocol="HTTP/1.1"
70 maxThreads="1000"
71 minProcessors="100"
72 maxProcessors="1000"
73 minSpareThreads="100"
74 maxSpareThreads="1000"
75 enableLookups="false"
76 URIEncoding="utf-8"
77 acceptCount="1000"
78 connectionTimeout="20000"
79 disableUploadTimeout="ture"
80 redirectPort="8443"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/>