【发布时间】:2023-03-03 23:06:02
【问题描述】:
我了解设置连接池中可用的最大连接数应与为 Tomcat 服务器配置的 maxThreads 相同(与可以处理的请求数相关)
对于 tomcat,默认值为 200,我假设在事情开始失控之前您可以安全地为 Tomcat 服务器配置一个最大值,我假设这也受运行它的机器的资源控制。
我试图了解人们成功使用的 maxThreads 的大小,1000 是否太大?
【问题讨论】:
标签: tomcat threadpool
我了解设置连接池中可用的最大连接数应与为 Tomcat 服务器配置的 maxThreads 相同(与可以处理的请求数相关)
对于 tomcat,默认值为 200,我假设在事情开始失控之前您可以安全地为 Tomcat 服务器配置一个最大值,我假设这也受运行它的机器的资源控制。
我试图了解人们成功使用的 maxThreads 的大小,1000 是否太大?
【问题讨论】:
标签: tomcat threadpool
我确信有文章对此进行了科学描述,但我会给出我的意见。
首先,我没有将连接池 conns 设置为等于线程数和工作线程数。如果你这样做了,那么有 conns 池是没有意义的。数据库服务器容量驱动这个数字,但我通常驱动大约 50-80% 的工作线程,并确保数据库集群能够处理负载。
问题在于,您尝试处理的线程越多,您使用的内存就越多,并且您可能会遇到更多的争用。我尽量不让每个 JVM 运行超过 6GB 的堆,因此垂直和水平扩展确实可以处理负载。
不幸的是,只有性能测试才能帮助您找出这些数字的最佳点。
【讨论】: