Запросы Active Directory периодически занимают 40 минут - PullRequest
2 голосов
/ 18 сентября 2009

Переместив наш сайт ASP.NET с 32-битной Windows Server 2003 / IIS6 на 64-битную Windows Server 2008 / IIS7 (классический режим), некоторые операции с активными каталогами периодически испытывают огромные задержки.

В частности, DirectorySearcher.FindOne () и DirectoryEntries.Children.Add () иногда занимают до 40 минут. Похоже, что эти проблемы вызваны перезапусками пула приложений после периодов бездействия и исчезают, если сайт некоторое время использовался.

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

1 Ответ

0 голосов
/ 18 сентября 2009

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

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

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

Редакция: Другая проблема может заключаться в том, что IIS 7 имеет разные значения времени ожидания, поскольку их необходимо указывать в разных тегах. В файле web.config вы увидите новый тег system.webserver, относящийся только к IIS 7. Попробуйте изучить их.

К сожалению, в текущем MSDN нет ни одного из них, у нас также были проблемы с тайм-аутом соединения, которые были установлены только на 120 секунд, но мы узнали, что когда пользователи долго загружают сессию, перерывы сеанса из-за того, что время ожидания для больших файлов наступает раньше.

...