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

Требуется совет по времени ожидания запроса IIS / ASP

Мы запускаем приложение ASP, использующее ASP 2.0.50727, работающее на IIS 6.0 и Windows 2003. У нас случайное высокое время отклика, и я могу видеть, что при использовании PerfMon время ожидания ASP \ Request составляет 5–14 секунд. Соответствующие ASP \ Requests Queued - 6–12. Я заглянул в наш ASP Machine.config, и мы настроены на AutoConfig, который должен автоматически правильно настроить все значения подключения. У нас нет проблем с физическим уровнем, ЦП - около 10%, память - 15% и т. Д.

Что еще я могу посмотреть? Следует ли нам удалить AutoConfig и попробовать вручную изменить все значения? Спасибо за любые указания.

Perfmon - хороший инструмент, когда вы точно знаете, что хотите измерить, но для поиска узких мест я бы выбрал Обозреватель процессов сначала, чтобы получить общий обзор, и если это что-то обнаружит, увеличьте масштаб с xperf или другой профилировщик.

Если ваше приложение ASP использует базу данных, попробуйте использовать профилировщик базы данных, чтобы проверить файл запроса. Десять к одному виновата совместимость баз данных. Часто получение целых таблиц только для того, чтобы показать часть или другие подобные накладные расходы.

Это также может быть проблема задержки сети, когда к базе данных необходимо обращаться несколько раз с запросами, которые зависят от результатов предыдущего запроса. Эти проблемы с задержкой иногда трудно обнаружить (особенно если вы не разработчик), поскольку они не всегда показывают чрезмерное использование ресурсов в таких инструментах, как Process Explorer или PerfMon.

Насколько мне известно, настройки в machine.config не влияют на классический ASP. Все классические настройки ASP хранятся в applicationHost.config (глобально) или с тегом <location> для определенного сайта. IIS Manager показывает расположение конфигурации в нижней строке состояния при изменении настроек.

Возвращаясь к своей проблеме, вы можете прочитать Мониторинг производительности ASP в TechNet. Я думаю, что настройка параметра AspProcessorThreadMax также может быть решением вашей проблемы. Похоже, у вас есть несколько запущенных запросов, из-за которых другие запросы попадают в очередь.