美文网首页
tomcat9调优

tomcat9调优

作者: cf6bfeab5260 | 来源:发表于2019-04-08 15:21 被阅读0次

    官方网站

    把大象装进冰箱需要几个步骤:

    1. 修改catalina.sh:
      jdk7以及jdk7以下:
    JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path"
    

    jdk8以及jdk8以上

    JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path"

    说明:

    • -server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多。不加这个参数,默认是以客户端模式启动。
    • java.awt.headless=true参数:与图形操作有关,适用于linux系统。如生成验证码,含义是当前使用的是没有安装图安装图形界面的服务器,应用中如果获取系统显示有关参数会抛异常。
    • -XX:PermSize设置永久代初始值,默认是物理内存的1/64。java1.8以后不起作用了,改成了元空间,对应参数-XX:MetaspaceSize
    • -XX:MetaspaceSize,初始空间大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。
    • -XX:MaxMetaspaceSize,最大空间,默认是没有限制的。
    • XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。java1.8以后不起作用了,改成了元空间,对应参数 -XX:MaxMetaspaceSize
    • -Xms、-Xmx:JVM内存设置(堆内存)。
      ps:这两组最好设置成一样的,避免上下文切换消耗资源。JDK8+永久代已经换成了元空间,PermSize MaxPermSize这两个参数没用了。
    • -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path oom时打印dump文件到指定路径
    1. 更改server.xml
    <Connector
    port="8080"  
    protocol="org.apache.coyote.http11.Http11NioProtocol" 
    enableLookups="false"            
    maxThreads="1000"               
    minSpareThreads="100"                            
    acceptCount="5000"               
    disableUploadTimeout="true"              
    connectionTimeout="30000"               
    URIEncoding="UTF-8"                           
    redirectPort="8443"               
    compression="on"              
    compressionMinSize="1024" 
    useSendfile="false"
    noCompressionUserAgents="gozilla, traviata"            
    compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript "   />
    

    说明:

    • org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
    • maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
    • minSpareThreads:最小空闲线程数。
    • acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
    • disableUploadTimeout:禁用上传超时时间
    • connectionTimeout:连接超时,单位毫秒,0代表不限制
    • URIEncoding:URI地址编码使用UTF-8
    • enableLookups:关闭dns解析,提高响应时间
    • compression:启用压缩功能
    • compressionMinSize:最小压缩大小,单位Byte
    • compressibleMimeType :压缩的文件类型
    • noCompressionUserAgents: 对 gozilla, traviata 这两个浏览器不启用压缩。
    • useSendfile:默认为true。如果启用此功能,则发送会优先于压缩。

    相关文章

      网友评论

          本文标题:tomcat9调优

          本文链接:https://www.haomeiwen.com/subject/zovuiqtx.html