#asp.net-core #signalr #kestrel-http-server
#asp.net-core #signalr #kestrel-http-сервер
Вопрос:
Я запускаю приложение в .NET Core 3.1 за обратным прокси-сервером Apache 2.4.41 в Ubuntu 20.04.1 LTS.
Это приложение работало в течение нескольких месяцев без каких-либо проблем, затем я добавил SignalR в проект, просто чтобы увидеть подключенных клиентов, после SignalR Kestrel / Apache случайным образом перестает отвечать на запросы через несколько часов после запуска.
Я понятия не имею, как отследить проблему, никаких исключений, ничего странного в использовании памяти / процессора.
Комментарии:
1. Можете ли вы опубликовать код SignalR?
2. @RubbleFord Спасибо, я уже решил свою проблему.
Ответ №1:
Моя проблема была проще, чем я думал, просто нужно было увеличить MaxRequestWorkers
вход /etc/apache2/mods-available/mpm_event.conf
, так как SignalR в основном использует соединения WebSocket, которые удерживают рабочий запрос занятым, пока он подключен.
Другим возможным решением было изменить HttpTransportType
в клиенте и принудительно ввести другой тип, как ServerSentEvents
, например, но у него есть другие аналоги.