tomcat生產部署關鍵參數設置

JVM設置html

l 通常使用HotSpot JVM。java

l 加上-server。tomcat

l -Xms/-Xmx:設置Java堆初始化和最大值,默認是1/64物理內存和1/4物理內存,通常不超過物理內存的80%,且這兩個應該設置成同樣,,夠用就好,過高會致使浪費內存和GC回收週期長。併發

l -XX:NewSize/-XX:NewRatio:設置成25%-33%java堆總量,過高過低都會致使無效GC。oracle

l -XX:PermSize/-XX:MaxPermSize:非堆內內存初始值最大值分別設爲128M,256M。負載均衡

l -XX:+AggressiveOpts:使用最新優化技術。jsp

l 參考Oracle官網http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html,還有其餘參數可根據實際配置。高併發

集羣設置性能

四層七層:四層不認識http協議,只按照客戶端ip和port分配流量,但性能好;七層認識http協議,可用http某些頭部分配流量,因爲須要計算,性能相對差點。優化

鏈接池:負載均衡器到tomcat的鏈接數,通常小於等於tomcat集羣節點處理鏈接能力之和。例如集羣有4個節點,每一個tomcat預計處理500個連接,那麼鏈接池的長鏈接數最大設爲2000。

全節點複製(DeltaManager)模式集羣節點數3-6爲宜。

主備複製(BackupMnagager)模式集羣節點可到10臺以上。 Connector設置

一共有三種模式:

①JAVA BIO,阻塞模式,最原始最穩定,SSL基於JSSE,同時也是tomcat7以前默認模式,它支持較小的併發處理。高併發可是短連接它也爲首選。BIO模式下有一個很是重要的參數,maxThreads,表示最大的同時處理請求數,通常範圍爲200-800,能夠從400開始設置,若是是CPU密集型的應用能夠減小,若是是非CPU密集型的應用能夠增長。

②JAVA NIO,非阻塞模式,SSL基於JSSE,鏈接的接收、讀寫都由專門的線程負責,是tomcat8後默認模式,它支持大併發多連接處理。高併發長鏈接首選。

③Native APR,非阻塞模式,它是爲了提升性能而使用本地代碼的一種模式,它由C++編寫,SSL是基於OpenSSL。它支持更大併發更多連接處理。

通常只在JAVA BIO與JAVA NIO之間切換,他們之間方便切換SSL,由於實現都基於JSSE,而且Native APR有可能在某些機器上不穩定

相關文章
相關標籤/搜索