美文网首页
Tomcat优化

Tomcat优化

作者: Loofer | 来源:发表于2018-07-28 16:55 被阅读0次

    Connector配置建议

    线程池优化

    maxConnections - 最大连接数

    可以通过 ulimit -a 查看 Linux 服务器目前允许最大的连接数,重点关注 open files 也就是说 Tomcat 最大也就能支持到 1024,参数具体说明见文末。
    1、修改服务器最大连接数,修改 /etc/security/limits.conf

    limits.conf

    拉到最底下,复制上面两行到下面,修改 core -> nofilerss->nofiles。大小 0 -> 65535,10000 -> 65535。保存

    2、添加 maxConnections 的配置
    2.1 对 CPU 要求更高时,建议不要配置过于大
    2.2 对 CPU 要求不是特别高的时,建议配置在 3000 左右。具体根据压测决定。

    3、配置的地方: server.xml -> connector 找到 8080 的 connector,添加 maxConnections 属性


    server.xml

    maxThreads - 最大线程数

    建议配置在 500-700


    server.xml

    acceptCount - 最大排队等待数

    一般保持与最大线程数持平就好了


    server.xml

    JVM 优化建议

    JVM 优化建议

    修改 catalina.sh 在最顶部添加

    catalina.sh

    查看有没有生效使用 ps -ef|grep tomcat 找到进程编号,然后 jmap -heap xxx 可以检查参数

    Gzip 相关配置

    • compression 打开压缩功能
    • compressableMimeType 压缩类型
    • compressionMinSize 启用压缩的输出内容大小
    server.xml

    其他配置

    • enableLookups 开启反查域名
    • connectionTimeout 网络连接超时阈值
    • minSpareThreads 最小空闲线程数
    server.xml

    tomcat的三种运行模式

    • BIO 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。
    • NIO 利用Java的异步IO处理,可以通过少量的线程处理大量的请求。
      Tomcat8在Linux系统中默认使用这种方式。
    • APR
      即 Apache Portable Runtime,原生C语言编写,从操作系统层面解决 I/O 阻塞问题。
      Tomcat7 或 Tomcat8 在 Win7 或以上的系统中启动默认使用这种方式。
      Linux 如果安装了 apr 和 native,Tomcat 直接启动就支持 apr。

    ulimit -a 参数描述

    core file sizecore 文件的最大值为100 blocks
    data seg size 进程的数据段可以任意大
    file size 文件可以任意大
    pending signals 最多有2047个待处理的信号
    max locked memory 一个任务锁住的物理内存的最大值为32kB
    max memory size 一个任务的常驻物理内存的最大值
    open files 一个任务最多可以同时打开1024的文件
    pipe size 管道的最大空间为4096字节
    POSIX message queues POSIX 的消息队列的最大值为819200字节
    stack size 进程的栈的最大值为8192字节
    cpu time 进程使用的CPU时间
    max user processes 当前用户同时打开的进程(包括线程)的最大个数为2047
    virtual memory 没有限制进程的最大地址空间
    file locks 所能锁住的文件的最大个数没有限制

    相关文章

      网友评论

          本文标题:Tomcat优化

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