Сброс пула приложений IIS - Влияние на производительность сайта

У нас есть следующая проблема в нашем приложении, размещенном в IIS.

Производительность нашего веб-сайта резко снижается, когда число одновременных пользователей увеличилось до 100. (Наше приложение размещено в IIS версии 8.5)

Сервер - Windows Server 2008

IIS - 8,5

Приложение - ASP.NET MVC/Angular

БД - SQL сервер 2016

Но скорость восстанавливается, когда мы перезапускаем пул приложений, в котором запущено приложение. Когда производительность приложения снижается, наблюдаются следующие атрибуты, и они выглядят нормально.

1) загрузка процессора - максимальная нагрузка составляла 70% при достижении пиковой нагрузки.

2) Использование памяти - использование памяти сервера не более 40%

3) Проверил, есть ли в БД тупики и выглядело нормально

4) Проверено, что код и соединения были правильно обработаны с помощью оператора using.

Пожалуйста, дайте мне знать, что именно может вызвать медлительность при увеличении нагрузки и почему она устраняется при перезапуске пула приложений.

Я знаю, что для этого сценария я не могу дать пример кода и нуждаюсь в немедленном руководстве от экспертов. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы помочь.

Спасибо!!!

1 ответ

Причин такого поведения может быть несколько. Это зависит от того, как вы создаете экземпляры репозиториев и классов менеджера в своем приложении, как вы управляете и настраиваете DI (или, возможно, у вас его нет). Кроме того, у вас есть статические переменные?
Если у вас есть Entity Framework и вы его не используете, это может привести к росту локального кэша.

Другие вопросы по тегам