• Tomcat企业级优化参数


    Tomcat的企业级配置

    Tomcat调优主要内容如下:增加最大连接数,调整工作模式,启用gzip压缩,调整JVM内存大小,作为Web服务器时,合理选择垃圾回收算法,尽量使用较新JDK版本 生产配置实例:

    <Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="1000"
    minSpareThreads="100"
    maxSpareThreads="200"
    acceptCount="900"
    disableUploadTimeout="true"
    connectionTimeout="20000"
    URIEncoding="UTF-8"
    enableLookups="false"
    redirectPort="8443"
    compression="on"
    compressionMinSize="1024"
    compressableMimeType="text/html,text/xml,text/css,text/javascript"/
    参数说明:
    org.apache.coyote.http11.Http11NioProtocol:调整工作模式为Nio
    maxThreads:最大线程数,默认150。增大值避免队列请求过多,导致响应缓慢。
    minSpareThreads:最小空闲线程数。
    maxSpareThreads:最大空闲线程数,如果超过这个值,会关闭无用的线程。
    acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。
    disableUploadTimeout:禁用上传超时时间
    connectionTimeout:连接超时,单位毫秒,0代表不限制
    URIEncoding:URI地址编码使用UTF-8
    enableLookups:关闭dns解析,提高响应时间
    compression:启用压缩功能
    compressionMinSize:最小压缩大小,单位Byte
    compressableMimeType:压缩的文件类型 Tomcat有三种工作模式:Bio、Nio和Apr,下面简单了解下他们工作原理:
    Bio(Blocking I/O):默认工作模式,阻塞式I/O操作,没有任何优化技术处理,性能比较低。
    Nio(New I/O or Non-Blocking):非阻塞式I/O操作,有Bio有更好的并发处理性能。
    Apr(Apache Portable Runtime,Apache可移植运行库):首选工作模式,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。

    jvm内存设置

    JAVA_OPTS="-server -Xms1024m -Xmx1536m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParallelGCThreads=8 XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-PrintGC -XX:-PrintGCDetails -XX:-PrintGCTimeStamps -Xloggc:../logs/gc.log"
    参数 描述
    -Xms 堆内存初始大小,单位m、g
    -Xmx 堆内存最大允许大小,一般不要大于物理内存的80%
    -XX:PermSize 非堆内存初始大小,一般应用设置初始化200m,最大1024m就够了
    -XX:MaxPermSize 非堆内存最大允许大小
    -XX:+UseParallelGCThreads=8 并行收集器线程数,同时有多少个线程进行垃圾回收,一般与CPU数量相等
    -XX:+UseParallelOldGC 指定老年代为并行收集
    -XX:+UseConcMarkSweepGC CMS收集器(并发收集器)
    -XX:+UseCMSCompactAtFullCollection 开启内存空间压缩和整理,防止过多内存碎片
    -XX:CMSFullGCsBeforeCompaction=0 表示多少次Full GC后开始压缩和整理,0表示每次Full GC后立即执行压缩和整理
    -XX:CMSInitiatingOccupancyFraction=80% 表示老年代内存空间使用80%时开始执行CMS收集,防止过多的Full GC

    注意:不是JVM内存设置越大越好,具体还是根据项目对象实际占用内存大小而定,可以通过Java自带的分析工具来查看。如果设置过大,会增加回收时间,从而增加暂停应用时间。
    gzip压缩作用:节省服务器流量和提高网站访问速度。客户端请求服务器资源后,服务器将资源文件压缩,再返回给客户端,由客户端的浏览器负责解压缩并浏览。
  • 相关阅读:
    常见业务指标
    1006 换个格式输出整数 (Python)
    1004 成绩排名 (Python)
    1003 我要通过! (Python)
    1008 数组元素循环右移问题 (Python)
    如何使用SSH秘钥链接Github
    在windows下如何正确安装curses模块
    面向数据结构C基础知识点(个人向)
    用Python实现链式调用
    python重点串讲
  • 原文地址:https://www.cnblogs.com/AloneSea/p/9667000.html
Copyright © 2020-2023  润新知