Мы используем веб-сервер 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 хранит эти скомпилированные файлы.Если кто-нибудь знаком с этим, дайте мне знать; -)