Тестируем VirtioFS в Docker
Уже 2 месяца использую Docker для разработки.
Это очень удобно, если ты работаешь в команде - у всех разные рабочие окружения, версии операционных системы и т.д., а Docker позволяет убрать эту разницу и автоматизировать создание проекта. Я уж молчу про всякое legacy, когда нужно работать с древними версиями библиотек, которые уже не устанавливаются.
Но есть проблема - работа Docker на MacOS не отличается высокой скоростью из-за особенностей файловой системы. В прошлой заметке я советовал использовать Mutagen для обхода этой проблемы, но и с ним не всё так радужно. Например, я словил несколько неприятных проблем с синхронизацией файлов, когдя они уже удалены в исходниках, но как-то сохраняются в контейнере из-за кэша Mutagen.
Скорость выше, да, но подобные особенности не радуют.
А тут оказалось, что аж с марта в Docker на MacOS Monterey доступны эксперементальные функции, как раз для улучшения работы с файловой системой.
Немедленно включил и замерил разницу, на этот раз не на установке пакетов, которые кэшируются по всякому, а на сборке фронтенда Vesp текущей версии.
git clone https://github.com/bezumkin/vesp.git
cd vesp/docker/
cp .env.dist .env
rm -rf ../frontend/dist && docker-compose up --build
Все тесты прогоняем по 3 раза.
Стандартный Docker:
- 83.92s
- 80.40s
- 88.51s
Docker + Mutagen
rm -rf ../frontend/dist && mutagen-compose up --build
- 80.24s
- 81.69s
- 81.42s
Никакой особой разницы для сборки не видно - примерно такая же скорость, как и без Mutagen, в пределах погрешности. Видимо в прошлый раз Mutagen быстро ставил зависимости с помощью своего кэширования.
Docker + новый VirtioFS
- 27.88s
- 29.36s
- 29.66s
А вот тут уже впечатляющие результаты - почти в 3 раза быстрее!
Docker + VirtioFS + Mutagen
- 31.55s
- 29.93s
- 28.98s
Получается, что при включении VirtioFS вы можете смело выбрасывать Mutagen - никакой прибавки в скорости он не даёт, но зато занимает больше места на диске из-за дополнительных volumes, и может добавить проблем с кэшем.
Сборка вообще без Docker, для понимания сколько мы теряем на виртуализации:
cd ../frontend/
rm -rf ./dist && yarn generate
- 17.14s
- 15.14s
- 14.51s
VirtioFS - отличный шаг вперёд для Docker на MacOS, надеюсь на выходе в релиз он станет еще быстрее.
0
👍
👎
❤️
🔥
😮
😢
😀
😡
766
26.09.2022 10:08:54
1 комментарий
Сергей Лелеко
Тоже задействовал! Прекрасная функция!
bezumkin.ru
Личный сайт Василия Наумкина
Прямой эфир
Василий Наумкин
04.02.2025 19:27:08
Я таким давно не занимаюсь и с MODX не работаю.
Попробуйте обратиться к ребятам с modx.pro.
Василий Наумкин
23.12.2024 05:33:00
В MODX сначала создали проблему, автоматически генерируя адреса, а потом "решили" заморозкой.
Так ч...
Дмитрий
14.12.2024 09:10:38
Василий, прошу прощения, тупанул, не разобрался сразу. Фреймворк отличный! "Чистый лист" на vue, рис...
Василий Наумкин
05.12.2024 20:01:14
В итоге основная ошибка была в неправильном общем root в Nginx, из-за чего запросы не улетали на фай...
Василий Наумкин
01.07.2024 11:56:41
Да, верно, именно так.
А в контроллере, скорее всего, ловить данные методом post.
Василий Наумкин
26.06.2024 09:38:15
О, точно, вылезает если не залогинен.
Спасибо, исправил!
Уровни подписки
Спасибо!
500 ₽ в месяц
Эта подписка ничего не даёт, просто возможность сказать спасибо за мои заметки. Подписчики отмечаются зелёненьким цветом в комментариях.
Большое спасибо!
1 000 ₽ в месяц
И эта подписка не даёт ничего, кроме оранжевого цвета в комментариях и возможности сказать спасибо, но уже большое!