博客
关于我
【六祎 - Tomcat】Tomcat性能调优 - 参数;性能调优入门
阅读量:577 次
发布时间:2019-03-11

本文共 977 字,大约阅读时间需要 3 分钟。

Tomcat性能调优 - 参数

Tomcat的实现在org.apache.catalina.core.StandardThreadExecutor中,线程池参数配置对性能优化至关重要。以下是常见的关键参数配置方法。

Tomcat线程池参数配置

  • maxThreads:Tomcat线程池最多能起的线程数,默认值为200。该参数限制了线程池能创建的最大线程数量,超过该数值的请求将被拒绝。

  • maxConnections:Tomcat最多能并发处理的请求(连接),默认值为800。这一参数决定了Tomcat在短时间内能够同时处理的最大连接数。

  • acceptCount:Tomcat维护的最大对列数,默认值为100。当服务器忙于处理请求时,超过acceptCount的连接请求将被拒绝。

  • minSpareThreads:Tomcat线程池的最小空闲线程数,默认值为25。该参数确保线程池在低负载时保持足够的线程数,以快速响应新的请求。

  • 标准ThreadExecutor类

    StandardThreadExecutor 类是Tomcat线程池的核心实现类。以下是该类的主要参数配置:

    • threadPriority:默认线程优先级为NORM_PRIORITY(普通优先级)。
    • daemon:设置线程为守护线程,默认值为true。
    • namePrefix:线程名称的前缀,默认为"tomcat-exec-"。
    • maxThreads:线程池的最大线程数,默认为200。
    • minSpareThreads:线程池的最小空闲线程数,默认为25。
    • maxIdleTime:线程的空闲超时时间,默认为60000毫秒。
    • executor:线程池的具体实现类。
    • name:线程池的名称。
    • maxQueueSize:任务队列的最大容量,默认为Integer.MAX_VALUE。
    • threadRenewalDelay:线程池线程的延迟更新时间,默认值由Constants.DEFAULT_THREAD_RENEWAL_DELAY定义。

    配置修改示例

    在配置文件中可以通过如下方式修改线程池参数:

    通过合理设置maxThreads、maxConnections、acceptCount等参数,可以有效优化Tomcat的性能表现。建议根据实际负载情况调整参数值,避免线程资源耗尽或连接被拒绝。

    转载地址:http://rsxvz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>
    MySQL 添加索引,删除索引及其用法
    查看>>
    mysql 状态检查,备份,修复
    查看>>
    MySQL 用 limit 为什么会影响性能?
    查看>>
    MySQL 用 limit 为什么会影响性能?有什么优化方案?
    查看>>
    MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
    查看>>
    mysql 用户管理和权限设置
    查看>>
    MySQL 的 varchar 水真的太深了!
    查看>>
    mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
    查看>>