1. 程式人生 > >tomcat 壓力測試調優+引數配置

tomcat 壓力測試調優+引數配置

1.壓力測試的時候,當併發數達到100的時候,tomcat的執行緒數和連線池都出現了問題,需修改配置如下

   
<Connector 

port="8033" maxThreads="<span style="color:#ff6666;">1000</span>" minSpareThreads="55" maxSpareThreads="<span style="color:#ff0000;">1000</span>"

               enableLookups="false" redirectPort="8543" acceptCount="100"

               debug="0" connectionTimeout="20000" 

               disableUploadTimeout="true"  URIEncoding="GBK"/>

port:訪問應用埠號    maxThreads:tomcat能建立的最大執行緒數  minSpareThreads:最小備用執行緒數   maxSpareThreads:最大備用執行緒數
<ResourceParams name="sforce">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value><span style="color:#ff0000;">400</span></value>

下面附有tomcat常見的屬性:
元素名 屬性 解釋
server port 指定一個埠,這個埠負責監聽關閉tomcat的請求
shutdown 指定向埠傳送的命令字串
service name 指定service的名字
Connector(表示客戶端和service之間的連線) port 指定伺服器端要建立的埠號,並在這個斷口監聽來自客戶端的請求
minProcessors 伺服器啟動時建立的處理請求的執行緒數
maxProcessors 最大可以建立的處理請求的執行緒數
enableLookups 如果為true,則可以通過呼叫request.getRemoteHost()進行DNS查詢來得到遠端客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
redirectPort 指定伺服器正在處理http請求時收到了一個SSL傳輸請求後重定向的埠號
acceptCount 指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理
connectionTimeout 指定超時的時間數(以毫秒為單位)
Engine(表示指定service中的請求處理機,接收和處理來自Connector的請求) defaultHost 指定預設的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的
Context(表示一個web應用程式,通常為WAR檔案,關於WAR的具體資訊見servlet規範) docBase 應用程式的路徑或者是WAR檔案存放的路徑
path 表示此web應用程式的url的字首,這樣請求的url為http://localhost:8080/path/****
reloadable 這個屬性非常重要,如果為true,則tomcat會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程式,我們可以在不重起tomcat的情況下改變應用程式
host(表示一個虛擬主機) name 指定主機名
appBase 應用程式基本目錄,即存放應用程式的目錄
unpackWARs 如果為true,則tomcat會自動將WAR檔案解壓,否則不解壓,直接從WAR檔案中執行應用程式
Logger(表示日誌,除錯和錯誤資訊) className 指定logger使用的類名,此類必須實現org.apache.catalina.Logger 介面
prefix 指定log檔案的字首
suffix 指定log檔案的字尾
timestamp 如果為true,則log檔名中要加入時間,如下例:localhost_log.001-10-04.txt
Realm(表示存放使用者名稱,密碼及role的資料庫) className 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm介面
Valve(功能與Logger差不多,其prefix和suffix屬性解釋和Logger 中的一樣) className 指定Valve使用的類名,如用org.apache.catalina.valves.AccessLogValve類可以記錄應用程式的訪問資訊
directory 指定log檔案存放的位置
pattern 有兩個值,common方式記錄遠端主機名或ip地址,使用者名稱,日期,第一行請求的字串,HTTP響應程式碼,傳送的位元組數。combined方式比common方式記錄的值更多