Настали трудные времена. Разработчики засрали свой лоточек выше крыши. Девопсы говорят, что в дев кластере заканчивается ОЗУ и надо уменьщать memory footprint подов. Основная память тратиться как ни странно не на managed heap (все таки gc в #dotnet работает), а на слои контейнера.
Окай, меняем базовый образ.
Майки дают 4 оффициальных образа: #debian, #ubuntu, #alpine и ubuntu #chiseled based размерами (примерно) 200, 200, 100 и 100 метров соответственно.
Не понял прикола ubuntu-chiseled, пошли в alpine. Ну где то метров по 80-100 с пода скинем, что при 3х неймспейсах по 50 подов уже похоже на результат.
А вообще я конечно жду полную совместимость с #nativeaot в #aspnetcore.
Вот тогда заживем! Можно будет не тащить весь рантайм с собой. Это еще по 70 (?) метров с образа.
@zetroot так asp обычно к пользователю тащить не надо и время старта там обычно не критично. Так что кроме понтов перед гошниками толку нам с aot в asp?
@brom ты имеешь ввиду - на клиента?
На клиента не надо, а вот в кластер надо. А aot даст меньший образ контейнера.
Я понимаю, что все это от бедности и экономия на спичках, но такие времена настали...
@zetroot следующим этапом переводим базы в нормальную форму, чтобы на диске компактнее лежали? :D
(Можно замутить тред с безумными и не очень идеями экономии)
@brom ну, у меня был один интересный опыт хранения оперативных данных в редисе, когда мне пришлось пожать их deflate, чтобы сэкономить RAM. Надо было ужаться по памяти в 4 раза, потому что 16гб дать могли, а мне надо было около 50гб данных держать. Причем с очень быстрой вставкой - эти 50Гб надо было примерно за полтора часа прочитать и перезаписать назад (поэтому редис).
@zetroot лимит времени был на чтение или чтение + обработка?
(У меня эпических историй нет, ресурсов всегда отсыпают в достатке, а мой главный враг это моя некомпетентность, по этому воспользуюсь случаем послушать)
@brom лимит на весь процесс: чтение, чтение из внешней системы, обработка, генерация артефактов во внешние системы, запись нового состояния. При этом хранимые данные были не очень важны, то есть в случае аварии на редисе легко восстанавливались.