我们有一个带有 HTTP 入站端点的 mule 应用程序,我试图弄清楚如何控制负载下的线程数。作为实验,我添加了以下配置:
<core:configuration>
<core:default-threading-profile doThreading="false" maxThreadsActive="500" poolExhaustedAction="RUN"/>
</core:configuration>
在负载下,我看到超过 1000 个线程的线程数达到峰值。我不确定为什么会出现这种情况,给出 maxThreadsActive 设置和 doThreading="false"。阅读有关 poolExhaustedAction="RUN" 的信息,我希望侦听器线程在处理入站请求而不是产生新请求时阻塞,如果其积压队列已满,则最终拒绝连接。我从未见过被拒绝的客户端连接。
Mule 是否为应用程序中的每个入站端点维护一个单独的线程池(对不起,如果这在文档中)?即使是这样,也不要认为它有助于解释我所看到的。
任何帮助表示赞赏。我们在一个容器中运行多个 mule 应用程序,我想控制线程总数。
谢谢,阿尔菲。