JSP компилируется в класс, расширяющий HttpServlet
при первом доступе / запросе. Некоторые сервлет-контейнеры будут компилировать его непосредственно во время запуска (или настраивать на него), чтобы вы не заметили «отставание». Другие не поддерживают его, и вам необходимо предварительно скомпилировать файлы JSP и развернуть вместе с ним вашу WAR.
Я никогда не использовал его, поэтому я не могу ответить с самого начала, но быстрый взгляд на его FAQ по Java узнает, что вы можете включить прекомпиляцию при запуске добавив следующую запись в appengine-web.xml
файл:
<precompilation-enabled>true</precompilation-enabled>
Обновление : согласно разделу Производительность документации appengine, оно, по-видимому, ускоряет (и выключает) JVM по требованию, что может вызывать "загрузочные запросы". Вот выдержка из документации :
Что такое запрос на загрузку?
Некоторые запросы выполняются медленнее, потому что приложение
Движок должен создать новую Java
виртуальная машина для обслуживания
запрос. Мы называем такой запрос,
Запрос на загрузку. Во время загрузки
запрос, ваша заявка проходит
инициализация (например, загрузка классов,
JIT-компиляция и т. Д.), Которая вызывает
просьба занять больше времени.
Для медленных запросов, которые уже
близко к запросу App Engine
срок, дополнительная инициализация может
протолкнуть его за крайний срок, в результате чего
DeadlineExceededException. Что вызывает
запросы на загрузку?
App Engine раскручивает JVM по требованию, поэтому
Есть несколько причин, почему вы можете
получить запрос на загрузку:
- Вы только что загрузили новую версию своего приложения.
- Ваше приложение может не получать трафик.
- Ваш трафик стал достаточно высоким, чтобы для масштабирования потребовалась другая JVM.
Вы можете ожидать, что во время курса
разработки вашего приложения, вы
будет часто испытывать первые два
сценарии. Для сравнения, для
производственное приложение получает даже очень
небольшое, но стабильное количество трафика,
запросы на загрузку относительно
нечастый.
Другими словами, это не решается никаким программным способом. Либо просто живите с ним, либо рассмотрите выделенный сервер с полноценным сервлет-контейнером.