【发布时间】:2019-04-10 01:58:43
【问题描述】:
是否有一些常识可以接受的比例
- HTTP 连接器 maxThreads(处理用户请求的最大 HTTP 线程数),
- HTTP 连接器 acceptCount(当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度)
- 数据库池maxActive(池中的最大数据库连接数)配置属性
当涉及到使用大量使用数据库的 tomcat 的 Web 基础应用程序时?
我的意思是,例如我们几乎每个 HTTP 请求连接都在密集使用数据库。因此,当我们配置的 DP 池 maxActive(例如 100)要少得多,而 HTTP 连接器 maxThreads(例如 200)则要大两倍。 那么就有可能在 HTTP 连接之间共享一个相同的 DB 连接。这可能会导致大量使用数据库 / 数据库停止连接。
我知道在大多数情况下 Web HTTP 请求配置与数据库池配置无关,但是属性之间的比率 (maxThreads/acceptCount maxActive) 是否存在常见案例/实践?例如。 HTTP maxThreads 比 DB maxActive 大是一种常见的做法(但是根据我们的示例,认为大 100% 太大了 - 可以说最大 20% 或 50%?),假设我们的 accpetCount 具有更大的值,所以要在应用程序处理其他 HTTP 请求时将 HTTP 请求排队?
这里有类似的问题:Tomcat - Configuring maxThreads and acceptCount in Http connector 但没有更准确的答案
【问题讨论】:
标签: java tomcat httpconnection jdbc-pool