(1)屏蔽DNS查詢Web應用程式可以通過Web容器提供的getRemoteHost()方法獲得訪問Web應用客戶的IP地址和名稱,但是這樣會消耗Web容器的資源,並且還需要通過IP地址和DNS伺服器反查用戶的名字,因此當系統上線時,可以將這個屬性關閉,從而減少資源消耗,那麼Web應用也就只能記錄下...
(1)屏蔽DNS查詢
Web應用程式可以通過Web容器提供的getRemoteHost()方法獲得訪問Web應用客戶的IP地址和名稱,但是這樣會消耗Web容器的資源,並且還需要通過IP地址和DNS伺服器反查用戶的名字,因此當系統上線時,可以將這個屬性關閉,從而減少資源消耗,那麼Web應用也就只能記錄下IP地址了。修改的屬性是enableLoopups="false"。
(2)調整線程數
Tomcat通過線程池來為用戶訪問提供響應,對於上線的系統初步估計用戶併發數量後,然後調整線程池容量。例如:用戶併發數量大約在100左右那麼可以設置minProcessors="100" maxProcessors="100",將最大和最小設置為一樣後,線程池不會再釋放空閑的線程,使用戶訪問突然增加的時候,不需要再消耗系統資源去創建新的線程。
(3)調整最大連接數
這個其實最複雜,即使用戶併發量大,但是系統反應速度快的話,可以把這個值不用設置太高,高了系統需要消耗大量的資源去切換線程,但是如果設置太低也會造成應用無法滿足用戶併發需要。因此設置這個最好能夠結合整個系統的跟蹤與調優,使系統達到最好的平穩狀態。一般設置為maxProcessors的1.5倍就可以了。
(4)調整網路超時
主要是HTTP協議也有個連接過程,客戶端連接到伺服器上後,多長時間沒有得到處理就會被釋放。如果伺服器處理速度較慢,但是希望每個用戶都能得到有效處理,或者網路環境不好,需要保證用戶不會因為超時會斷,也可以把時間加長。但是一般設置成connectionTimeout="30000"就可以了。太長對系統來說價值不大,反而會浪費系統資源在無謂的長連接上。
(5)具體修改如下:
minProcessors:最小空閑連接線程數,用於提高系統處理性能,預設值為10。
maxProcessors:最大連接線程數,即:併發處理的最大請求數,預設值為75。
acceptCount:允許的最大連接數,應大於等於maxProcessors,預設值為100。
enableLookups:是否反查功能變數名稱,取值為:true或false。為了提高處理能力,應設置為false。
connectionTimeout:網路連接超時,單位:毫秒。設置為0表示永不超時但這樣設置是有隱患,通常可設置為20000毫秒。