Tomcat調優之tomcat容器優化

Tomcat調優之tomcat容器優化
通過應用程序的連接器(Connector)進行性能控制的的參數是創建的處理請求的線程數。Tomcat使用線程池加速響應速度來處理請求。在Java中線程是程序運行時的路徑,是在一個程序中與其它控制線程無關的、能夠獨立運行的代碼段。它們共享相同的地址空間。多線程幫助程序員寫出CPU最大利用率的高效程序,使空閒時間保持最低,從而接受更多的請求,以下以tomcat5爲例:
maxThreadsTomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數。
acceptCount:指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。
connnectionTimeout:網絡連接超時,單位:毫秒。設置爲0表示永不超時,這樣設置有隱患的。通常可設置爲30000毫秒。
minSpareThreadsTomcat初始化時創建的線程數。
maxSpareThreads一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。
最好的方式是多設置幾次並且進行測試,觀察響應時間和內存使用情況。在不同的機器、操作系統或虛擬機組合的情況下可能會不同,而且並不是所有人的web站點的流量都是一樣的,因此沒有一刀切的方案來確定線程數的值。
Tomcat中使用APR庫,其實就是在Tomcat中使用JNI的方式來讀取文件以及進行網絡傳輸。可以大大提升Tomcat對靜態文件的處理性能,同時如果你使用了HTTPS方式傳輸的話,也可以提升SSL的處理性能。
一般在Windows下,可以直接下載編譯好的二進制版本的dll庫文件來使Tomcat啓用APR,一般建議拷貝庫文件tcnative-1.dllTomcatbin目錄下。而在Linux下,可以直接解壓和安裝bin目錄下的tomcat_native.tar.gz文件,編譯之前要確保apr庫已經安裝。
怎麼才能判斷Tomcat是否已經啓用了APR庫呢?方法是通過看Tomcat的啓動日誌:
如果沒有啓用APR,則啓動日誌一般有這麼一條:
org.apache.coyote.http11.Http11Protocolstart
如果啓用了APR,則這條日誌就會變成:
org.apache.coyote.http11.Http11AprProtocolstart
tcnative-1.dll
下載地址:http://tomcat.heanet.ie/native/
HTTP壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求網頁後,從服務器端將網頁文件壓縮,再下載到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。相對於普通的瀏覽過程HTML,CSS,Javascript,Text,它可以節省40%左右的流量。更爲重要的是,它可以對動態生成的,包括CGIPHP,JSP,ASP,Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率驚人。

1)compression="on"打開壓縮功能

2)compressionMinSize="2048"啓用壓縮的輸出內容大小,這裏面默認爲2KB

3)noCompressionUserAgents="gozilla,traviata"對於以下的瀏覽器,不啓用壓縮

4)compressableMimeType="text/html,text/xml"壓縮類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章