有關tomcat6伺服器的並發設定與最佳化(網上收集)

來源:互聯網
上載者:User

有關tomcat6伺服器的並發設定與最佳化

tomcat的server.xml設定檔說明:
server.conf 配置

<Connector port="8080" protocol="HTTP/1.1"    maxThreads="30000"    minSpareThreads="512"    maxSpareThreads="2048"    enableLookups="false"    redirectPort="8443"     acceptCount="35000"    debug="0"    connectionTimeout="40000"    disableUploadTimeout="true"    URIEncoding="UTF-8" />

參數說明:
connectionTimeout 
    網路連接逾時,單位:毫秒。設定為0表示永不逾時,這樣設定有隱患的。通常可設定為30000毫秒。
keepAliveTimeout 
    長串連最大保持時間(毫秒)。此處為15秒。
maxKeepAliveRequests 
    最大長串連個數(1表示禁用,-1表示不限制個數,預設100個。一般設定在100~200之間)
maxHttpHeaderSize 
    http 要求標頭資訊的最大程度,超過此長度的部分不予處理。一般8K。
URIEncoding 
    指定Tomcat 容器的URL 編碼格式。
acceptCount 
    指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理,預設為10個。
disableUploadTimeout 
    上傳時是否使用逾時機制
enableLookups 
    是否反查網域名稱,取值為:true 或false。為了提高處理能力,應設定為false
maxSpareThreads 
    最大空閑串連數,一旦建立的線程超過這個值,Tomcat 就會關閉不再需要的socket線程The default value is 50.
maxThreads 
    最多同時處理的串連數,Tomcat 使用線程來處理接收的每個請求。這個值表示Tomcat 可建立的最大的線程數。
minSpareThreads 
    最小空閑線程數,Tomcat 初始化時建立的線程數.
minProcessors 
    最小空閑連接線程數,用於提高系統處理效能,預設值為10。
maxProcessors
    最大連接線程數,即:並發處理的最大請求數,預設值為75

TOMCAT設定檔中的APR(Apache Portable Runtime )
    在server.xml檔案中的配置資訊:
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SLEngine="on"/>
    使用方式可參考:http://hi.baidu.com/xionglian1123/blog/item/e21877dbe89a4e2710df9b44.html

提高Tomcat的並發能力一些方法
1、Apache + Tomcat 結合起來用Apache 負責靜態頁面,Tomcat負責動態網頁面,同時減少connectionTimeout的時間,以應對並發量大線程回收來不及的情況。
2、壓力過大的問題,可以做負載平衡,一個TOMCAT無論如何也不可能擔當如此多的線程負載,而且JVM過大,其記憶體管理成本將顯著加大。2G的記憶體,做3-4個TOMCAT執行個體(512RAM*4),更為科學合理。
3、資料庫連接池,不少人,都推薦使用C3P0,能提高訪問資料庫的並發效能好幾倍。(有博文稱使用tomcat內建的jdbc-pool更好,還沒試過)
4、採用Tomcat叢集可以最大程度的發揮伺服器的效能,可以在配置較高的伺服器上部署多個Tomcat,也可以在多台伺服器上分別部署 Tomcat,Apache和Tomcat整合的方式還是JK方式。經過驗證,系統對大使用者量使用的回應程式面,Apache+3Tomccat叢集> Apache+2Tomcat叢集 > Apache整合Tomcat > 單個Tomcat。並且採用Apache+多Tomcat叢集的部署方式時,如果一個Tomcat出現宕機,系統可以繼續使用,所以在硬體系統效能足夠優越的情況下,需要盡量發揮軟體的效能,可以採用增加Tomcat叢集的方式。 
5. 開啟KeepAlive支援  
    KeepAlive on, KeepAliveTimeout 15 MaxKeepAliveRequests 1000 
    根據實際經驗,通過Apache和Tomcat叢集的方式提高系統效能的效果十分明顯,這種方式可以最大化的利用硬體資源,通過多個Tomcat的處理來分擔單Tomcat時的壓力。 
    web server允許的最大串連數還受制於作業系統的核心參數設定,通常Windows是2000個左右,Linux是1000個左右。

Apache + Tomcat + mod_jk 部署"垂直負載平衡",可參考
    http://hi.baidu.com/tzq668766/blog/item/31b6dc5bced368c29d820496.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.