IIS6, ASP.NET MVC 1 и случайные замедления - PullRequest
3 голосов
/ 24 марта 2010

Я недавно развернул приложение MVC на веб-сервере IIS6. Одно странное поведение, которое я имел, - время загрузки будет случайным образом увеличиваться до 30 секунд и затем возвращаться к нормальному состоянию. Наши тесты показали, что это происходит на нескольких соединениях одновременно. После того, как ожидание прошло, сайт снова стал отзывчивым. Когда это произойдет, это совершенно случайно, но, вероятно, будет происходить примерно раз в 15 минут или около того.

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

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

Наконец, я установил запись входа и выхода в действиях моего контроллера, замедление всегда происходит за пределами контроллера. Время входа и выхода для действия контроллера всегда достаточно быстрое.

У кого-нибудь есть идеи о том, что может быть причиной этого? Я попытался запустить его локально на IIS7, и у меня не было проблемы. Я могу только думать, что это как-то связано с нашим хостинг-провайдером.

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Запустите веб-приложение под профилировщиком (например, JetBrains) и выведите результаты после одной из этих 30-секундных блокировок. Вывод профилировщика должен сделать обнаружение узкого места довольно очевидным, поскольку он точно определит точный вызов API, который потребляет время / блокирует другие потоки.

По-видимому, это может быть нехватка памяти, вызывающая сброс элементов из кэша или сборщика мусора, хотя 30 секунд для этого звучит немного излишне.

0 голосов
/ 26 марта 2010

Это работает на объявленном сервере? в противном случае это может быть ваш хостинг провидор.

Из того, что вы сказали, мне кажется, что сервер по какой-то причине каждые 15 минут увеличивает нагрузку на свой процессор. Это может быть что-то в коде, попадающем в бесконечный цикл, если бы вы просматривали в журнале событий любые сбои / ошибки приложения.

...