Сброс пула приложений 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 и вы его не используете, это может привести к росту локального кэша.