Tomcat 性能优化

线上环境使用默认 tomcat 配置文件,性能很一般,为了满足大量用户的访问,需要对
tomcat 进行参数性能优化,具体优化的地方如下:

  • Linux 内核的优化
  • 服务器资源配置的优化
  • Tomcat 参数优化
  • 配置负载集群优化

这里着重讲解 tomcat 参数的优化:server.xml 文件,关闭 DNS 查询、配置最大并发等参数。
maxThreads:tomcat 起动的最大线程数,即同时处理的任务个数,默认值为 200
acceptCount:当 tomcat 起动的线程数达到最大时,接受排队的请求个数,默认值为 100
当然这些值都不是越大越好,需要根据实际情况来设定。可以基于测试的基础上来不断的调优分析。

#这里的文件是server.xml
<Connector port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="5000"
minSpareThreads="20"
acceptCount="1000"
disableUploadTimeout="true"
enableLookups="false"
URIEncoding="UTF-8" />

maxThreads :客户请求最大线程数
  minSpareThreads :Tomcat初始化时创建的 socket 线程数
  maxSpareThreads: Tomcat连接器的最大空闲 socket 线程数
  enableLookups :是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
  redirectPort: 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
  acceptAccount: 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
  connectionTimeout: 连接超时
  minProcessors: 服务器创建时的最小处理线程数
  maxProcessors: 服务器同时最大处理线程数
  URIEncoding: URL统一编码

Catalina.sh JVM 参数优化,添加如下内容:

CATALINA_OPTS="$CATALINA_OPTS – Xms4000M – Xmx4000M – Xmn1000M
-XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=82 -DLOCALE=UTF-16LE -DRAMDISK=/
-DUSE_RAM_DISK=ture -DRAM_DISK=true"

配置多个 tomcat 实例,方法也很简单,只需要在服务器上 cp 多个 tomcat,然后修改三个
端口和发布目录即可,然后分别启动即可。
为了提升整个网站的性能,还需要在 tomcat 前面架设 nginx web 反向代理服务器,用以提
高用户高速访问。

你可能感兴趣的:(tomcat优化)