前言:
今天你们对“并发2000需要几台tomcat”大约比较关心,我们都需要分析一些“并发2000需要几台tomcat”的相关知识。那么小编在网络上网罗了一些对于“并发2000需要几台tomcat””的相关知识,希望小伙伴们能喜欢,你们快快来了解一下吧!说明:一般线程与虚拟内存JVM设置同步设置,两者存在对应关系。
1.线程概念说明
maxThreads:此连接器将创建的请求处理线程的最大数量, 即可以处理的同时请求的最大数量,默认值为200。
minSpareThreads:终保持运行状态的最小线程数。 这包括活动线程和空闲线程。 如果未指定,则使用默认值10。
maxConnections: 服务器在任何给定时间将接受和处理的最大连接数。 对于BIO,除非使用执行程序,否则默认值为maxThreads的值,在这种情况下,默认值为执行程序的maxThreads的值。 对于NIO,默认值为10000。对于APR/native,默认值为8192。仅对于NIO,将值设置为-1将禁用maxConnections功能,并且不计算连接数。(PS:一般不需要设置)
acceptCount:使用所有可能的请求处理线程时,传入连接请求的最大队列长度。 队列已满时收到的任何请求都将被拒绝。 默认值为100。
2.线程设置
<Connector port="8080" protocol="HTTP/1.1" maxThreads="600" acceptCount="300" enableLookups="false" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>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
标签: #并发2000需要几台tomcat