.NET Core 3.1 Kestrel / Apache перестает отвечать на запросы

#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 , например, но у него есть другие аналоги.