l 一般使用HotSpot JVM。
l 加上-server。
l -Xms/-Xmx:設(shè)置java堆初始化和最大值,默認(rèn)是1/64物理內(nèi)存和1/4物理內(nèi)存,一般不超過物理內(nèi)存的80%,且這兩個(gè)應(yīng)該設(shè)置成一樣,,夠用就好,太高會導(dǎo)致浪費(fèi)內(nèi)存和GC回收周期長。
l -XX:NewSize/-XX:NewRatio:設(shè)置成25%-33%java堆總量,太高太低都會導(dǎo)致無效GC。
l -XX:PermSize/-XX:MaxPermSize:非堆內(nèi)內(nèi)存初始值最大值分別設(shè)為128M,256M。
l -XX:+AggressiveOpts:使用最新優(yōu)化技術(shù)。
四層七層:四層不認(rèn)識http協(xié)議,只按照客戶端ip和port分配流量,但性能好;七層認(rèn)識http協(xié)議,可用http某些頭部分配流量,由于需要計(jì)算,性能相當(dāng)差。
連接池:負(fù)載均衡器到tomcat的連接數(shù),一般小于等于tomcat集群節(jié)點(diǎn)處理連接能力之和。例如集群有4個(gè)節(jié)點(diǎn),每個(gè)tomcat預(yù)計(jì)處理500個(gè)鏈接,那么連接池的長連接數(shù)最大設(shè)為2000。
全節(jié)點(diǎn)復(fù)制(DeltaManager)模式集群節(jié)點(diǎn)數(shù)3-6為宜。
主備復(fù)制(BackupMnagager)模式集群節(jié)點(diǎn)可到10臺以上。
一共有三種模式:
①JAVA BIO,阻塞模式,最原始最穩(wěn)定,SSL基于JSSE,同時(shí)也是tomcat7之前默認(rèn)模式,它支持較小的并發(fā)處理。高并發(fā)但是短鏈接它也為首選。BIO模式下有一個(gè)非常重要的參數(shù),maxThreads,表示最大的同時(shí)處理請求數(shù),一般范圍為200-800,可以從400開始設(shè)置,如果是CPU密集型的應(yīng)用可以減少,如果是非CPU密集型的應(yīng)用可以增加。
②JAVA NIO,非阻塞模式,SSL基于JSSE,連接的接收、讀寫都由專門的線程負(fù)責(zé),是tomcat8后默認(rèn)模式,它支持大并發(fā)多鏈接處理。高并發(fā)長連接首選。
③Native APR,非阻塞模式,它是為了提高性能而使用本地代碼的一種模式,它由C++編寫,SSL是基于OpenSSL。它支持更大并發(fā)更多鏈接處理。
一般只在JAVA BIO與JAVA NIO之間切換,他們之間方便切換SSL,因?yàn)閷?shí)現(xiàn)都基于JSSE,并且Native APR有可能在某些機(jī)器上不穩(wěn)定。