Tomcat优化
JVM参数
编辑 TOMCAT_HOME/bin/catalina.sh 文件,找到 JAVA_OPTS 变量,并添加 JVM 参数。
-Xms:初始堆内存大小。-Xmx:最大堆内存大小。-XX:PermSize:永久代初始大小(Java 8 及以上版本使用元空间)。-XX:MaxPermSize:永久代最大大小(Java 8 及以上版本使用元空间)。-XX:MetaspaceSize:元空间初始大小(Java 8 及以上版本)。-XX:MaxMetaspaceSize:元空间最大大小(Java 8 及以上版本)。-XX:+UseG1GC:使用 G1 垃圾回收器。适合大内存应用。-Xss:每个线程的栈大小。
            
            
              bash
              
              
            
          
          # 修改或添加以下行
JAVA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseG1GC -Xss256k"
        连接器优化
编辑 server.xml 。
protocol="org.apache.coyote.http11.Http11NioProtocol":使用 NIO 连接器,提高性能。maxThreads:设置最大线程数,根据服务器性能调整。acceptCount:设置接受队列的大小,当所有线程都忙时,新连接将被放入队列中等待。
            
            
              bash
              
              
            
          
          <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
           acceptCount="100"
           maxThreads="500"
           connectionTimeout="20000"
           redirectPort="8443" />
        调整线程池
编辑 server.xml
maxThreads:最大线程数。minSpareThreads:最小空闲线程数。maxIdleTime:线程的最大空闲时间。
            
            
              bash
              
              
            
          
          <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
          maxThreads="500" minSpareThreads="50"
          maxIdleTime="60000" />
        启用压缩
编辑 server.xml
compression:启用压缩。compressionMinSize:最小压缩大小。noCompressionUserAgents:不压缩的用户代理。compressableMimeType:可压缩的 MIME 类型。
            
            
              bash
              
              
            
          
          <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
           compression="on"
           compressionMinSize="2048"
           noCompressionUserAgents="Gozilla,Travelscape"
           compressableMimeType="text/html,text/xml,text/plain,application/json" />