环境:
应用:tomcat9、默认JDK8
机器:单机物理内存16G,安装LINUX后可用内存15G
集群:集群部署2台机器,每机器各1个节点
业务:OLTP业务,用户量1万,交易并发数预估小于每秒500次
设置内存:
设置bin下catalina.sh位置cygwin=false前新增下面内容
JAVA_OPTS=“-server -Xms8192m -Xmx8192m”
设置说明:
*堆内存:堆内存最小和最大值设置同一值,防止频繁GC导致系统变慢,堆内存设置8G,是基于占可用内存80%且需要一定冗余考虑。
*非堆内存:因为业务类不多,引入JAR包30个左右,预估非堆内存可以按默认配置不会超出极限 。最小1/64 ,最大1/4。(也可以根据需求设置默认值 -XX:PermSize=1024M -XX:MaxPermSize=4096m。 JDK8以后此写法取消,改为-XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=4096m)
*未在server.xml中设置默认线程和最大并发:tomcat默认200最大线程数、1万最大并发数应该可以适应本系统,所以按默认值走。