tomcat服務器優化

tomcat


tomcat服務器優化

1、JDK內存優化

根據服務器物理內存情況配置相關參數優化tomcat性能。當應用程序需要的內存超出堆的最大值時虛擬機就會提示內存溢出,並且導致應用服務崩潰。因此一般建議堆的最大值設置爲可用內存的最大值的80%。 Tomcat默認可以使用的內存爲128MB,在較大型的應用項目中,這點內存是不夠的,需要調大.

Tomcat默認可以使用的內存爲128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設置: JAVA_OPTS=’-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】 -XX:PermSize=64M -XX:MaxPermSize=128m’ 需要把幾個參數值調大。例如: JAVA_OPTS=’-Xms256m -Xmx512m’ 表示初始化內存爲256MB,可以使用的最大內存爲512MB。

參數詳解

-server  啓用jdk 的 server 版;
-Xms    java虛擬機初始化時的最小內存;
-Xmx    java虛擬機可使用的最大內存;
-XX:PermSize    內存永久保留區域
-XX:MaxPermSize   內存最大永久保留區域
-Xmn    jvm最小新生代大小

32G 內存配置示例:

JAVA_OPTS="$JAVA_OPTS  -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m

2、tomcat線程優化

在tomcat配置文件server.xml中的配置中,和連接數相關的參數有:

maxThreads: Tomcat使用線程來處理接收的每個請求。這個值表示Tomcat可創建的最大的線程數。默認值150。

acceptCount: 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理。默認值10。

minSpareThreads: Tomcat初始化時創建的線程數。默認值25。

maxSpareThreads: 一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。默認值75。

enableLookups: 是否反查域名,默認值爲true。爲了提高處理能力,應設置爲false

connnectionTimeout: 網絡連接超時,默認值60000,單位:毫秒。設置爲0表示永不超時,這樣設置有隱患的。通常可設置爲30000毫秒。

maxKeepAliveRequests: 保持請求數量,默認值100。 bufferSize: 輸入流緩衝大小,默認值2048 bytes。

compression: 壓縮傳輸,取值on/off/force,默認值off。 其中和最大連接數相關的參數爲maxThreads和acceptCount。如果要加大併發連接數,應同時加大這兩個參數。

32G 內存配置示例:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600"  acceptCount="120"
               redirectPort="8443" URIEncoding="utf-8"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章