tomcat简单优化

一、内存优化

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   统一编码

生产中配置:

<Connector executor=”tomcatThreadPool”
           port=”8080″
           protocol=”HTTP/1.1″
           connectionTimeout=”20000″
           minSpareThreads=”150″
           maxSpareThreads=”500″
           enableLookups=”false”
           disableUploadTimeout=”true”
           acceptCount=”1000″
           maxThreads=”1000″
           maxProcessors=”1000″
           minProcessors=”5″
           useURIValidationHack=”false”
           compression=”on”
           compressionMinSize=”2048″
           compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”
           uriencoding=”utf-8″
           redirectPort=”8443″ />

三、优化网卡驱动

$ 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

未经允许不得转载:国外便宜VPS » tomcat简单优化

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址