love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

          常用鏈接

          統(tǒng)計

          積分與排名

          friends

          link

          最新評論

          Tomcat常用調(diào)優(yōu)技巧(轉(zhuǎn))

          本文是就Tomcat 4為基礎(chǔ)向大家介紹WEB容器調(diào)優(yōu)的,因為許多朋友安裝好之后就開始正式上線,很少有人以用戶現(xiàn)場為基礎(chǔ)對服務(wù)器進行調(diào)優(yōu)。如果并發(fā)量小,系統(tǒng)可能不會出問題,但是并發(fā)量大時,系統(tǒng)反應(yīng)速度迅速下降,由于不了解原因,因此大家還拼命在自己的應(yīng)用中尋找問題,從而浪費了寶貴的現(xiàn)場時間。但是Tomcat如何調(diào)優(yōu)呢?
              其實真正的WEB容器調(diào)優(yōu)是需要許多方面的知識的,你必須了解網(wǎng)絡(luò)+硬件+OS+JVM+WEB容器,但是這篇文章無法講解那么多,而應(yīng)用服務(wù)器本身也有些調(diào)優(yōu)的基本原則,下文就會給予介紹。
              先在Tomcat安裝目錄中找到conf子目錄,然后再打開web.xml文件,搜索附件A中的內(nèi)容,可能會有些不同。不同的地方就是需要修改的部分。
              1. 屏蔽DNS查詢。
              Web應(yīng)用程序可以通過Web容器提供的getRemoteHost()方法獲得訪問Web應(yīng)用客戶的IP地址和名稱,但是這樣會消耗Web容器的資源,并且還需要通過IP地址和DNS服務(wù)器反查用戶的名字,因此當(dāng)系統(tǒng)上線時,可以將這個屬性關(guān)閉,從而減少資源消耗,那么Web應(yīng)用也就只能記錄下IP地址了。修改的屬性是enableLoopups="false"
              2. 調(diào)整線程數(shù)。
              Tomcat通過線程池來為用戶訪問提供響應(yīng),對于上線的系統(tǒng)初步估計用戶并發(fā)數(shù)量后,然后調(diào)整線程池容量。例如:用戶并發(fā)數(shù)量大約在100左右。那么可以設(shè)置minProcessors="100" maxProcessors="100",將最大和最小設(shè)置為一樣后,線程池不會再釋放空閑的線程,使用戶訪問突然增加的時候,不需要再消耗系統(tǒng)資源去創(chuàng)建新的線程。
              3. 調(diào)整最大連接數(shù)
              這個其實最復(fù)雜,即使用戶并發(fā)量大,但是系統(tǒng)反應(yīng)速度快的話,可以把這個值不用設(shè)置太高,高了系統(tǒng)需要消耗大量的資源去切換線程,但是如果設(shè)置太低也會造成應(yīng)用無法滿足用戶并發(fā)需要。因此設(shè)置這個最好能夠結(jié)合整個系統(tǒng)的跟蹤與調(diào)優(yōu),使系統(tǒng)達到最好的平穩(wěn)狀態(tài)。一般設(shè)置為maxProcessors的1.5倍就可以了。
              4. 調(diào)整網(wǎng)絡(luò)超時。
              主要是HTTP協(xié)議也有個連接過程,客戶端連接到服務(wù)器上后,多長時間沒有得到處理就會被釋放。如果服務(wù)器處理速度較慢,但是希望每個用戶都能得到有效處理,或者網(wǎng)絡(luò)環(huán)境不好,需要保證用戶不會因為超時會斷,也可以把時間加長。但是一般設(shè)置成connectionTimeout="30000"就可以了。太長對系統(tǒng)來說價值不大,反而會浪費系統(tǒng)資源在無謂的長連接上。
              附件A。
              在tomcat配置文件server.xml中的<Connector ... />配置中,和連接數(shù)相關(guān)的參數(shù)有:
              minProcessors:最小空閑連接線程數(shù),用于提高系統(tǒng)處理性能,默認值為10
              maxProcessors:最大連接線程數(shù),即:并發(fā)處理的最大請求數(shù),默認值為75
              acceptCount:允許的最大連接數(shù),應(yīng)大于等于maxProcessors,默認值為100
              enableLookups:是否反查域名,取值為:true或false。為了提高處理能力,應(yīng)設(shè)置為false
              connectionTimeout:網(wǎng)絡(luò)連接超時,單位:毫秒。設(shè)置為0表示永不超時,這樣設(shè)置有隱患的。通常可設(shè)置為20000毫秒。    <Connector
              className="org.apache.coyote.tomcat4.CoyoteConnector"
              port="8080" minProcessors="5" maxProcessors="75"
              enableLookups="true" redirectPort="8443"
              acceptCount="10" debug="0" connectionTimeout="20000"
              useURIValidationHack="false"
          />Tomcat常用調(diào)優(yōu)技巧.txt

          posted on 2007-12-16 11:38 liaojiyong 閱讀(1091) 評論(0)  編輯  收藏 所屬分類: AppServer

          主站蜘蛛池模板: 郴州市| 三穗县| 吉隆县| 通渭县| 大理市| 嘉鱼县| 衡南县| 弥勒县| 清远市| 车致| 洪江市| 乐陵市| 桦南县| 德阳市| 大丰市| 洛南县| 栖霞市| 绵竹市| 积石山| 英德市| 渭南市| 突泉县| 九龙坡区| 马公市| 高密市| 盘山县| 长汀县| 滨州市| 依兰县| 庐江县| 宁强县| 沽源县| 宜兰县| 潮安县| 西青区| 富民县| 莱州市| 永德县| 象州县| 东港市| 苍梧县|