JVM设置
l 一般使用HotSpot JVM。
l 加上-server。
l -Xms/-Xmx:设置java堆初始化和最大值,默认是1/64物理内存和1/4物理内存。一般不超过物理内存的80%。且这两个应该设置成一样,,够用就好。太高会导致浪费内存和GC回收周期长。
l -XX:NewSize/-XX:NewRatio:设置成25%-33%java堆总量,太高太低都会导致无效GC。
l -XX:PermSize/-XX:MaxPermSize:非堆内内存初始值最大值分别设为128M。256M。
l -XX:+AggressiveOpts:使用最新优化技术。
l 參考oracle官网http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html,还有其它參数可依据实际配置。
集群设置
四层七层:四层不认识http协议,仅仅依照clientip和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有可能在某些机器上不稳定。