|
|
|
Supreme Being
      
участник
Last Login: 14.12.2007 18:22
Сообщ.: 131,
Visits: 824
|
|
Дано: ASP - скрипт выполняет запуск хранимых процедур на отдельном высокопроизводительном MS SQL - сервере, и выводит полученные данные в форму (логика скрипта простая, выделеный SQL-сервер заметно не загружен). В asp - скрипте установлено server.ScriptTimeout = 59 'время в секундах Session.Timeout = 60 подобные настройки сделаны в IIS Сервер Win2k3 Ram512Mb (215Mb свободно, 260Mb использовано в файле подкачки, всего файл подкачки 2Гб) Временами нагрузка процессора увеличивается до 99-100% при этом процессор на 99% загружает сервис w3wp.exe (по данным TaskManager), а памяти этот сервис берет всего 30-40Mb. Возможно ли как-то оптимизировать работу IIS? Где IIS создает временные файлы при открытии новых сессий ASP, где располагаются сформированные html-коды в результате выполнения ASP - скрипта (желательно, чтобы они были в физической памяти)? Можно ли как-то заставить ASP в IIS более активно использовать физическую память?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
AvnAvn (17.04.2007) Где IIS создает временные файлы при открытии новых сессий ASP? Насколько мне известно, временные файлы здесь не используются. Все данные сессий находится в памяти рабочего процесса.AvnAvn (17.04.2007) где располагаются сформированные html-коды в результате выполнения ASP - скрипта (желательно, чтобы они были в физической памяти)? Именно в памяти они и находится. На диск они могут попасть только как часть файла подкачки. Для ASP есть каталог "%SYSTEMROOT%\system32\inetsrv\ASP Compiled Templates", но он предназначен для хранения части откомилированных ASP файлов, другая часть также держится в памяти.AvnAvn (17.04.2007) Возможно ли как-то оптимизировать работу IIS? ... Можно ли как-то заставить ASP в IIS более активно использовать физическую память? Почему ты решил что именно этот файл является источником нагрузки на процессор? Это что единественный ASP файл на сервере? IIS и ASP не дураки, если так можно выразиться, и раз памяти используется сравнительно мало, а процессор нагружен сильно - значит на это есть причина. Может это какие-то настройки виноваты, может твой скрипт. В первую очередь надо проверить свой код.- У тебя выставлена длина сессии 1 час. Это реально нужно? Если сессии не использутся, то их можно отключить как для всего сайта так и для отдельной страницы. При большом кол-ве посетителей этот может помочь.
- Каким образом ты выводишь данные в скрипте? Если там используется склейка строк в одну длинную, то попробуй разбить ее на части с помощью Response.Write.
- Если у тебя используется клиентский курсор ADO, то попробуй заменить его на серверный.
Советую также прочитать статью How do I make my ASP pages more efficient?, в ней много полезных советов.
|
|
|
|