mod-mono:如何在特定应用程序上设置 MonoMaxActiveRequests 以超过 20 个线程限制

mod-mono: how to set MonoMaxActiveRequests on specific application to get past the 20 threads limit

我在 Apache 2.2.24 上使用 mod-mono 2.6.7(升级不是一个选项),最大并行请求量似乎停留在 20。我还不知道是否该限制来自 Apache 或 mod-mono。似乎某处有默认(或手动设置)最多 20 个请求。

阅读 http://www.mono-project.com/docs/web/mod_mono/#limiting-the-number-of-concurrent-requests 后,我尝试设置:

MonoMaxActiveRequests 100 
MonoMaxWaitingRequests 100 
MonoSetEnv MONO_THREADS_PER_CPU=100
MaxSpareServers   [some other value larger than 20]

我正在编辑一些 "previously-non-exising" 默认配置,而不是我站点的配置。相反,我想编辑我网站的配置,它错误地显示 "unlimited"(实际上是 20)。

当我查看单声道控制面板时,我看到了这个:

显示的“100”似乎反映了 "MonoMaxActiveRequests 100",但我也看到了 "unlimited"(我永远无法更改)。无论 "unlimited" 还是“100”,限制始终为 20。所有其他请求将进入 mono 的队列。

当我查看 apache 的 httpd\error_log 时,我看到了这个:

[Mon Jan 12 14:57:37 2015] [error] Maximum number (20) of concurrent mod_mono requests to /tmp/mod_mono_dashboard_[NameOfMySite]_4.lock reached. Dropping request.

当然,每次我编辑我的配置时,我都会重新启动 apache。

我找到了答案:我必须设置

MonoMaxActiveRequests [name_of_my_app] 100
MonoMaxWaitingRequests [name_of_my_app] 100

而不是

MonoMaxActiveRequests 100
MonoMaxWaitingRequests 100