Size: a a a

2021 April 22

DK

Dmitriy Kovalenko in graalvm_ru
Такой вид поставки в прод. Раньше были VM с установленной джавой, теперь все нужное пакуется в докер и запускается оркестратором.
источник

D

Dmitry in graalvm_ru
Т.е. вы боретесь за размер контейнера
источник

DK

Dmitriy Kovalenko in graalvm_ru
За адекватный размер контейнера
источник

DK

Dmitriy Kovalenko in graalvm_ru
bash-4.4$ du -sch .[!.]* /opt/* |sort -h
0       .dockerenv
264M    /opt/docker
862M    /opt/graalvm-ce-java11-21.1.0
1.1G    total
источник

DK

Dmitriy Kovalenko in graalvm_ru
вот что внутри получается
источник

DK

Dmitriy Kovalenko in graalvm_ru
264Мб это мой апп
источник

DK

Dmitriy Kovalenko in graalvm_ru
Даже если собрать то же самое но выкинуть oracle linux и некоторые ненужные модули/бинари - экономия около 300 Мб.  Вот народ пытается - https://github.com/lustefaniak/docker-graalvm
источник

DK

Dmitriy Kovalenko in graalvm_ru
источник

DK

Dmitriy Kovalenko in graalvm_ru
При таких раскладах jlink выглядит чуть ли не единственным адекватным вариантом как заюзать graalvm и не иметь 1.5Gb образы
источник

DK

Dmitriy Kovalenko in graalvm_ru
@shelajevoleg было бы круто среди прочих https://github.com/graalvm/graalvm-demos увидеть примерчик с  оптимальной сборкой custom JRE через jlink.
источник

D

Dmitry in graalvm_ru
Dmitriy, а что такого хитрого Вы используете в своем приложении раз graalvm подсовываете?
источник

DK

Dmitriy Kovalenko in graalvm_ru
Даже обычное приложение получает буст по производительности, но у меня еще один кейс - graaljs(Выполнение javascript из java). На OpenJDK он раз в 5 медленней, хочу в прод потащить GraalVM, размер бандла сильно огорчает. Если jlink сработает - тогда хочу для всех микросервисов внедрять.
источник

λ

λoλdog in graalvm_ru
Я тебе сейчас скажу сколько у меня монолит с жлинком весит
источник

λ

λoλdog in graalvm_ru
Но у меня там базовый образ дебиан
источник

D

Dmitry in graalvm_ru
Т.е. получаете буст просто заменив OpenJDK на GraalVM?
источник

DK

Dmitriy Kovalenko in graalvm_ru
Да, при том ощутимый
источник

D

Dmitry in graalvm_ru
Неожиданно, я честно говоря не задумываюсь о выборе jvm, например если приложение под openliberty, то OpenJ9, так они сами это советуют, под Tomee, то OpenJDK
источник

DK

Dmitriy Kovalenko in graalvm_ru
у меня базовый play app на debian slim вышел 150 Мб, с зависимостями будет чуть больше
источник

OS

Oleg Shelajev in graalvm_ru
Расскажите поподробнее пожалуйста?
источник

DK

Dmitriy Kovalenko in graalvm_ru
Проверял на двух приложениях. Оба написаны на scala. Одно из них тюнил по производительности. Запускал бенчмарки и сравнивал с OpenJDK - разница была в 15-20% throughput.
Второе - с серверным рендерингом реакта с помощью graaljs, там я обращал внимание больше на производительность js, но и scala код при этом ускорился, судя по показателям latency.
источник