У меня есть сервер Windows 2003 с запущенным на нем веб-сайтом IIS 6. недавно у нас был компонент, разработанный в .NET4.0 и установленный в подпапке на веб-сайте. Для .NET 4.0 был создан новый пул приложений, и этот пул приложений был назначен подпапке .NET 4. Мне может потребоваться упомянуть, что исходный веб-сайт использует как .NET 2.0, так и устаревший asp. Сайт работает со встроенной аутентификацией против AD.
Все работает, кроме интеграции с папкой .NET 4.0. Когда вызывается приложение в папке .NET 4.0, IIS требует не менее 15 секунд для обслуживания страницы. Вне зависимости от того, первый это запрос или сотый запрос. Приложение .NET 4.0 вызывается из устаревшей формы ASP с фреймом, показывающим приложение ASP.NET 4.0.
Мы не можем прикоснуться к Legacy asp или приложению ASP.NET 2.0, поскольку мы не владеем правами на программное обеспечение. IE имеет только лицензию на использование.
Приветствуются любые идеи о том, как ускорить процесс.
Чтобы ускорить процесс, вам сначала нужно понять, что его замедляет. Я знаю очевидное утверждение, но сначала вам нужно проанализировать, что происходит.
В такой ситуации, а я постоянно делаю это предложение, вам необходимо загрузить и запустить инструмент Microsoft SysInternals Process Monitor (procmon.exe).
Запустите его в поле IIS и установите фильтр для просмотра только w3wp.exe. Убедитесь, что вы установили параметр «отбрасывать отфильтрованные события». Очистите журнал, выполните (медленную) транзакцию, а затем остановите мониторинг.
Просмотрите журнал и попытайтесь определить, какие действия происходят. Используйте столбцы «Относительное время» и «Продолжительность», чтобы получить представление о том, что происходит и сколько времени это занимает. Иногда вещи очевидны, например, много времени потрачено на сканирование на предмет наличия .EXE или .DLL в пути, или отсутствующей записи в реестре.
Это может занять некоторое время, но это единственный известный мне инструмент, который дает вам эквивалент анализатора пакетов для O / S. Говоря о снифферах пакетов, возможно, стоит также провести трассировку wirehark, просто чтобы убедиться, что веб-сервер не торопится.
Удачи.