Tomcat的效能,對比Weblogic或者Websphere,自然是差了不少。但是Weblogic或者Websphere的價格都比較昂貴,一些創業級網站恐怕沒有能力支付,畢竟錢要用在刀刃上。免費開源的Tomcat,對付一般的網站,還是夠用的。比如,一個網站的並發訪問量在1000以下的,就可以使用Tomcat。
使用Tomcat,需要修改一些預設的配置,以提高Tomcat的效能和並發量。這裡記錄幾點。
1. 增加Tomcat的記憶體
Tomcat預設使用最大記憶體為128M,可以修改
tomcat/bin/Catalina.bat 檔案增加其記憶體。
設定下面語句
set CATALINA_OPTS =-Xms512m –Xmx1024m
2. 修改並發的串連數量,並且對頁面進行壓縮
修改conf/server.xml檔案
修改前:
<Connector port="8080"
protocol="HTTP/1.1"
redirectPort="8443"
connectionTimeout="20000"
/>
修改後:
<Connector port="8080"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
useBodyEncodingForURI="true"
maxThreads="1000"
redirectPort="8443"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
disableUploadTimeout="true"
/>
maxThreads Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可建立的最大的線程數。
acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。
connectionTimeout 網路連接逾時,單位:毫秒。設定為0表示永不逾時,這樣設定有隱患的。通常可設定為30000毫秒。
minSpareThreads Tomcat初始化時建立的線程數。
maxSpareThreads 一旦建立的線程超過這個值,Tomcat就會關閉不再需要的socket線程。
compression="on" 開啟壓縮功能
compressionMinSize 啟用壓縮的輸出內容大小,這裡面預設為2KB
compressableMimeType壓縮類型
3. 負載平衡
另外,如果實際運行過程中的並發量超過Tomcat的能力,可以使用Apache+Tomcat實現Tomcat叢集的負載平衡。