tomcat简单优化
2018/07 作者:ihunter 0 次 0
一、内存优化
1、修改tomcat路径bin目录下的catalina.sh
cat >> catalina.sh << END JAVA_OPTS='-Xms20480m -Xmx20480m -Xss256k -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m' END
参数:
-Xms jvm初始化堆内存大小 -Xmx jvm堆的最大内存 #堆内存建议设为服务器内存的60%~80% -Xss 线程栈大小 #一般设置为256k -XX:PermSize jvm非堆区初始内存分配大小 -XX:MaxPermSize jvm非堆区最大内存 #非堆内存不可回收,看项目大小而定
2、重启tomcat验证:jmap -heap 12345(tomcat PID)
二、配置优化
修改server.xml添加参数
maxThreads 客户请求最大线程数 minSpareThreads 初始化时创建的 socket 线程数 maxSpareThreads 连接器的最大空闲 socket 线程数 enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名 redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口 acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads) connectionTimeout 连接超时 minProcessors 服务器创建时的最小处理线程数 maxProcessors 服务器同时最大处理线程数 URIEncoding URL 统一编码
生产中配置:
三、优化网卡驱动
$ cat >> /etc/sysctl.cnf << END net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.route.gc_timeout = 100 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 65536 END $ sysctl -p
上篇:
zabbix主机自动发现和监控
下篇:
LVS负载均衡+动静分离+高可用(nginx+tomcat+keepalived)