Огромная задержка при первом запросе браузера к веб-приложению Mono XSP
Мы используем веб-сервер Mono (2.10) XSP4 для размещения веб-приложения ASP.Net MVC3, работающего на Linux с открытым встроенным ПО (ARM). При запуске XSP4 требуется несколько секунд, пока он не будет готов и принимает запросы. Нет проблем с этим до сих пор.
Но когда сделан первый запрос от браузера / посетителя веб-сайта, XSP4 использует весь процессор, он может получить около 55 секунд, пока веб-страница (успешно) не отобразится в веб-браузере. Это происходит после каждого запуска / перезапуска XSP.
Сначала я подумал, что это своевременная компиляция всего веб-приложения. Поэтому я создал пакет развертывания, который содержит только двоичные файлы, .css, .js и представления (.cshtml). Это сработало, но все равно было такая огромная задержка
Затем я попытался предварительно скомпилировать это веб-приложение с использованием Visual Studio (как указано в некоторых заметках о выпуске Mono). Снова веб-сайт работал хорошо, но огромная задержка все еще присутствовала.
Некоторые вопросы, которые на самом деле у меня в голове:
Кто-нибудь знает, что делает веб-сервер XSP, когда поступает первый запрос браузера? Является ли это своевременной компиляцией, даже если это предварительно скомпилированное веб-приложение?Почему он делает это после каждого запуска снова?Можно ли вообще как-то уменьшить огромную задержку?Можно ли уменьшить огромную задержку, чтобы она выполнялась только при первом запросе браузера после обновления веб-приложения (кэшированного между последующими запусками XSP)?Любая помощь / идеи будут великолепны.
Обновить: Тем временем я обнаружил, что задержка вызвана сборкой dcms компилятора Mono / ASP.Net и компиляцией бритвенных представлений MVC3 в /tmp/root-aspnet.../, который отображается в память и поэтому не является постоянным. Сейчас я ищу способ контролировать, где XSP4 / Mono.WebServer / Mono-Asp.Net хранит эти скомпилированные файлы. Если кто-нибудь знаком с этим, дайте мне знать ;-)