Подтвердить что ты не робот

Запуск приложения Grails 2.0 очень медленный

Я использую Grails 2.0. Раньше я разрабатывался под Grails 1.3.7, но при запуске приложения под Grails 2.0 производительность была очень медленной. Страница может занять более 30 секунд, чтобы показать, и это очень неловко и непродуктивно.

Я googled, и я обнаружил, что GSP в версии 2.0 в некоторых случаях в 10 раз медленнее 1.3.7; Greame пояснил, что есть новый способ обработки GSP в dev mod, но при выполнении grails prod run-app у меня почти такая же проблема.

Что мне делать, чтобы ускорить процесс разработки? Я теряю слишком много времени.

PS: Мои GRAILS_OPTS: "-server -Xmx600M -Xms600M -XX: MaxPermSize = 250m -Dfile.encoding = UTF-8 -Dserver.port = 9090"

4b9b3361

Ответ 1

Я опубликовал небольшое сообщение в списке рассылки около 20 минут назад: http://grails.1312388.n4.nabble.com/GSP-Compilation-tt4632864.html#a4635595

Эта проблема была исправлена: http://jira.grails.org/browse/GRAILS-9423

Пожалуйста, проверьте производительность последней сборки моментальных снимков 2.1.x.

Попробуйте эти

export GRAILS_OPTS="-server -noverify -XX:PermSize=256m
-XX:MaxPermSize=256m -Xmx600M -Xms600m -XX:+UseParallelGC -Djava.net.preferIPv4Stack=true 
-Dsun.reflect.inflationThreshold=100000"

Для меня трюк состоял в том, чтобы установить Xmx и Xms на одно значение и установить для PermSize и MaxPermSize то же значение. sun.reflect.inflationThreshold помогает с помощью permgen. (http://jira.grails.org/browse/GRAILS-7878?focusedCommentId=66447&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-66447 в Grails jira для объяснения)

кстати. Я подал этот вопрос 10 минут назад: http://jira.grails.org/browse/GRAILS-9444 Если это интересно, проголосуйте по этому вопросу.

Ответ 2

Grails 2.x медленнее, чем 1.3.x для режима разработки из-за улучшений перезагрузки. Он использует загружаемый агент Spring -Loaded, похожий на JRebel.

Убедитесь, что ваш ноутбук для разработки имеет достаточно памяти ( > 4 ГБ), SSD и быстрый процессор i7.

Получите последний ноутбук с 16-гигабайтной памятью и быстрым SSD, и вы больше не будете думать о медлительности. Я также рекомендую процессор серии i7. Это стоит всего около $1200 в настоящее время.

Ответ 3

Чтобы убедиться, что вы используете последние исправления для загружаемого агента Spring -Loaded, используйте Grails 2.1.x вместо Grails 2.0.x. Для Grails 2.1.1 вы можете обновить загружаемый агент Spring -Loaded до моментальной копии.

Вы можете получить последний снимок из: https://repo.springsource.org/snapshot/com/springsource/springloaded/springloaded-core/

В настоящее время https://repo.springsource.org/snapshot/com/springsource/springloaded/springloaded-core/1.1.1.BUILD-SNAPSHOT/springloaded-core-1.1.1.BUILD-20120821.173635-2.jar.

Замените $GRAILS_HOME/lib/com.springsource.springloaded/springloaded-core/jars/springloaded-core-1.0.6.jar с загруженным снимком (переименуйте моментальный снимок с тем же именем файла springloaded-core-1.0.6.jar).

Этот ответ будет устаревшим, как только будет выпущена версия с загрузкой springloaded-core 1.1.1.