Назад | Перейти на главную страницу

Windows 2008 IIS 7.0 периодически замедляется

У меня есть приложение, работающее на экземпляре Hyper V 2008 R2 (2 ГБ памяти). Приложение работает на asp.net mvc 3.0 и .Net 4.0.

Это внутреннее приложение с низким трафиком (1-2 запроса в секунду).

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

Это скриншот зависшего соединения (время более 60 секунд) в RequestAcquireState:

Сервер представляет собой новую установку IIS7 и Windows Server 2008 (всего 10 дней назад) и единственное веб-приложение на виртуальной машине. Мы также используем MSMQ в пуле приложений, чтобы приложение могло транслировать сообщения в очередь.

5 тонких клиентов используют NComputing терминал, подключенный к одному компьютеру, который обращается к веб-приложению.

Я думаю, вы, вероятно, захотите перенести это в StackOverflow для более глубокого погружения - я почти уверен, что любой ответ, который вы получите, потребует либо настройки лимитов дросселирования в файле web / machine.config, либо повторной разработки кода приложения.

Просматривая обрабатываемые запросы, я замечаю, что все они поступают от очень небольшого количества клиентских IP-адресов; Известно, что некоторые компоненты сериализуют доступ с одного и того же IP-адреса (или к одному и тому же сеансу - это один и тот же пользователь с открытыми подключениями?).

Если это не просто медлительность после перезапуска, и общий анализ производительности хоста и, в частности, конфликтов ввода-вывода (эпическая дисковая очередь?) Не решает ее, я не уверен, что есть настройка уровня IIS, которая будет Исправить это. (если только на свежем не случится).

Самый простой способ решить эту проблему: получить дамп процесса в диспетчере задач, затем отладить его с помощью PSSCOR2, попытаться выяснить, чего ждут все официанты, и есть ли там неприятный маленький «maxSomethings = 2». Или жадный обработчик исключений, который не очищает, что снова возвращает нас на территорию SO.