日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

tomcat 性能优化(内存优化 线程优化)

發布時間:2024/1/3 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 tomcat 性能优化(内存优化 线程优化) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://blog.sina.com.cn/s/blog_4b5bc01101014s81.html

tomcat 性能優化

linux修改TOMCAT_HOME/bin/catalina.sh,在前面加入 -- 通過內存設置,充分使用服務器內存

在java8中PermSize 已經被取代了

-server 模式啟動應用慢,但可以極大提高系統運行性能

-Djava.awt.headless 使用linux系統,與圖形操作有關
JAVA_OPTS=$JAVA_OPTS -server -Xms2048m -Xmx2048m  -XX:PermSize=256M -XX:MaxPermSize=512m -Djava.awt.headless=true
-Duser.timezone=Asia/Shanghai"

windows修改TOMCAT_HOME/bin/catalina.bat,在前面加入

set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m

tomcat 提高并發配置與優化

tomcat的server.xml配置文件說明:

protocol="org.apache.coyote.http11.Http11NioProtocol" 啟用nio模式,tomcat8默認使用nio模式,apr模式利用系統級異步IO
server.xml配置

1.port="8080"protocol="HTTP/1.1"

2.maxThreads="30000"

3.minSpareThreads="512"

4.maxSpareThreads="2048"

5.enableLookups="false"

6.redirectPort="8443"

7.acceptCount="35000"

8.debug="0"

9.connectionTimeout="40000"

10.disableUploadTimeout="true"

11.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的并發能力一些方法
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個左右。

其中和最大連接數相關的參數為maxProcessors和acceptCount。如果要加大并發連接數,應同時加大這兩個參數。

web server允許的最大連接數還受制于操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。Unix中如何設置這些參數,請參閱Unix常用監控和管理命令

tomcat4中的配置示例:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="10" maxProcessors="1024"
enableLookups="false" redirectPort="8443"
acceptCount="1024" debug="0" connectionTimeout="30000" />

對于其他端口的偵聽配置,以此類推。

2. 如何加大tomcat可以使用的內存
tomcat默認可以使用的內存為128MB,在較大型的應用項目中,這點內存是不夠的,需要調大。

Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設置:
JAVA_OPTS='-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】'
需要把這個兩個參數值調大。例如:
JAVA_OPTS='-Xms256m -Xmx512m'
表示初始化內存為256MB,可以使用的最大內存為512MB

總結

以上是生活随笔為你收集整理的tomcat 性能优化(内存优化 线程优化)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。