Проблемы с aspnet_compiler и первой загрузкой

У меня есть довольно большой сайт, который пытается решить проблему штрафов за первое попадание. Попытка использовать aspnet_compiler для предварительной компиляции, похоже, работает не так, как я думал.

Я запускаю команду следующим образом:

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
aspnet_compiler -p "C:\Development\Source\WEB" -v / "C:\Staging" -c

Настройка Web.Config следующим образом (не уверен, что это имеет значение?)

<compilation debug="false" strict="false" batch="true" explicit="true" targetFramework="4.0" optimizeCompilations="true">

Пул приложений IIS (значения не могут быть изменены из-за сторонних ссылок)

  • Версия .NET Framework: v4.0
  • Включить 32-разрядные приложения: False
  • Режим управляемого конвейера: классический

Запуск Windows Server 2008R2

Когда я перехожу на первую страницу (логин) на сайте (C:\Staging), я получаю прибл. 60-секундная разминка, во время которой я вижу, как файлы кешируются/компилируются во временном каталоге C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

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

Кажется, это происходит (без реальных доказательств) в течение дня, возможно, когда пул приложений перезапускается? Опять ищем пути решения.

Спасибо за любую помощь


person sugarcrum    schedule 16.04.2013    source источник


Ответы (1)


Вы на правильном пути; Я использую инструмент aspnet_compiler, чтобы изменить время запуска нашего веб-сайта с ~ 120 секунд до 8 секунд. Он действительно хорошо работает для сложных веб-сайтов с большим количеством файлов aspx/ascx.

Я использую такую ​​команду: %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler -v / -p C:\Projects\branches\demo3\KenticoCMS -fixednames C:\Projects\branches\demo3precomp

Эта команда используется для создания веб-сайта, который находится в собственном домене и находится в каталоге C:\Projects\branches\demo3\KenticoCMS. Я вывожу в каталог C:\Projects\branches\demo3precomp и развертываю его содержимое на сервере.

person Lanceomagnifico    schedule 08.11.2014