Tomcat性能调优:线程设置

您所在的位置:网站首页 http请求线程池 Tomcat性能调优:线程设置

Tomcat性能调优:线程设置

2024-06-11 22:22| 来源: 网络整理| 查看: 265

说明:一般线程与虚拟内存JVM设置同步设置,两者存在对应关系。

1.线程概念说明

maxThreads:此连接器将创建的请求处理线程的最大数量, 即可以处理的同时请求的最大数量,默认值为200。minSpareThreads:终保持运行状态的最小线程数。 这包括活动线程和空闲线程。 如果未指定,则使用默认值10。maxConnections: 服务器在任何给定时间将接受和处理的最大连接数。 对于BIO,除非使用执行程序,否则默认值为maxThreads的值,在这种情况下,默认值为执行程序的maxThreads的值。 对于NIO,默认值为10000。对于APR/native,默认值为8192。仅对于NIO,将值设置为-1将禁用maxConnections功能,并且不计算连接数。(PS:一般不需要设置)acceptCount:使用所有可能的请求处理线程时,传入连接请求的最大队列长度。 队列已满时收到的任何请求都将被拒绝。 默认值为100。

2.线程设置 3.线程数设置建议

为了达到最优配置,我进行了通用业务系统登录及首页待办、查询、统计内容加载等场景的压力实测,建议:

在tomcat虚拟内存为2G,建议设置最大线程为500~600,可支持最大并发量为500~600 在tomcat虚拟内存为4G,建议设置最大线程为600~700,可支持最大并发量为600~700

如果需要达到自身业务系统的最优配置,还是需要根据自身业务系统的场景进行逐步压力实测,再根据结果进行线程数的上调或下调。 注意:另外,在另一篇文章“Tomcat性能调优:虚拟内存JVM设置”也提到“tomcat虚拟内存JVM最大设置为4G。经过实测4G以上性能提升极小,考虑nginx+tomcat集群做负载均衡。”

4.最佳线程数的获取 通过用户慢慢递增来进行性能压测,观察QPS,响应时间 根据公式计算:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量 单用户压测,查看CPU的消耗,然后直接乘以百分比,再进行压测,一般这个值的附近应该就是最佳线程数量。操作系统限制:Windows每个进程中的线程数不允许超过2000,Linux每个进程中的线程数不允许超过1000


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3