问题描述
我正在.NET Core 3.1中在Ubuntu 20.04.1 LTS中的Apache 2.4.41反向代理后面运行一个应用程序。
该应用程序运行了几个月,没有任何问题,然后我将SignalR添加到项目中,只是为了查看已连接的客户端,在SignalR之后,Kestrel / Apache在启动几个小时后便随机停止响应请求。
我不知道如何跟踪问题,没有异常,内存/ cpu使用情况也没什么奇怪的。
解决方法
我的问题比我想象的要简单,只需要增加MaxRequestWorkers
中的/etc/apache2/mods-available/mpm_event.conf
,因为SignalR主要使用WebSocket连接,只要连接了它,请求工作者便会一直忙着。 >
另一种可能的解决方案是在客户端中更改HttpTransportType
并强制使用另一种类型,例如ServerSentEvents
,但是它还有其他对应类型。