Производительность Grails 3 против 4, время запуска и память

Документация Grails 4 упоминает об улучшении производительности и времени запуска из-за родительского контекста микронавта ( здесь).

Кто-нибудь измерял улучшение от Grails 3 до Grails 4? Как Grails 4 сравнивается с Grails 3 по времени загрузки, производительности и потреблению памяти?

3 ответа

Пишу ответ для записи. Недавно я обновил довольно большое приложение Grails 3 (~150 доменных классов) и заметил примерно 30% -ное сокращение времени загрузки и 20-30% -ное сокращение объема памяти, используемого приложением. Горячий перезапуск в Grails 4 действительно раздражает и тратит много времени даже на небольшие изменения. Мне очень не хватает горячей замены grails 3. Кроме этого, это того стоит.

В этой статье дается сравнение показателей производительности Grails 3.3.9 и 4.0.

Сразу после обновления с 3.3.14 до 4.0.12 я вижу на 20% больше использования ЦП и времени обработки запросов на производстве. Может быть какие-то неоптимальные настройки. Но при простом апгрейде фреймворка я получил штраф в производительности (150к уникальных посетителей в день, 6Гб памяти).

В то же время приложение использует на 30% меньше памяти.

ОБНОВЛЕНИЕ:

проблема с производительностью, вызванная неработающим кешем второго уровня гибернации для классов с наследованием https://github.com/grails/grails-data-mapping/issues/1594

ОБНОВЛЕНИЕ 1:

После исправления проблемы с кешем я вижу улучшение использования ЦП. Grails4 использует примерно на 5-10% меньше ресурсов ЦП по сравнению с Grails 3.3.14.

Я думаю, рекомендуется перейти на Grails 4

Вы сравниваете яблоки и апельсины. Grails - это фреймворк для веб-разработки (в основном), а micronaut больше для микросервисов / демонов. Это две разные вещи полностью.

Grails может использовать Micronaut, но Micronaut не может использовать Grails. Хотя Micronaut - это отдельный проект, в контексте этого вопроса, думайте о Micronaut больше как о подмножестве Grails.

Другие вопросы по тегам