LINUX.ORG.RU
решено ФорумAdmin

MySQL и Docker volume

 ,


0

3

Запихал битрикс в три контейнера: nginx+php+mysql(percona 5.7)
Открыл встроенную тестилку «производительности», вижу смешные цифры в графах:

Базааза данных MySQL (запись)	19
База данных MySQL (изменение)	22
/var/lib/docker в btrfs. Выносил вольюм в отдельный раздел, отключал COW(файлы копировал туда-обратно, да), пробовал вольюм в EXT4 - ничего.
На тестовой машине перебил /var/lib/docker в ext4 + overlay: стало ~30 то и другое.
Вестимо, оно всё же пропускает данные с вольюма через фс которая с COW, но описания механизмов этих я толком не нашел.

PS. KRoN73 сообщает, что нормально MySQL работает только в LXC или на хосте.
Скорее всего, так и сделаю, но хочется понять механизм: как оно работает с вольюмами.

★★★★

PS. KRoN73 сообщает, что нормально MySQL работает только в LXC или на хосте.

У меня MySQL в Docker'е просаживается не так сильно, но раза в два по сравнению с хостом или LXC производительность падает. При чём пофиг, лежит база внутри контейнера или монтируется с хоста. Видимо, aufs как-то хитро сказывается и используется в т.ч. и при монтировании с хоста.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Видимо, aufs как-то хитро сказывается и используется в т.ч. и при монтировании с хоста.

Любая докеровый фс-драйвер так сказывается: device-mapper, btrfs, overlayfs. Overlay чуть быстрее. Более того, с вольюмом на tmpfs ситуация не меняется.
Не доводилось ли встречать описание механизма работы volume'ов?

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Ну и вот тут https://github.com/docker/docker/issues/21485 ближе к концу есть несколько советов - изменить режим журналирования ext4, или использовать xfs, или тюнить шедулер.

pod ★★
()
Последнее исправление: pod (всего исправлений: 1)
Ответ на: комментарий от pod

Ну, оно с tmpfs так же работает xD
Реально, по синтетике битрикса цифры один-в-один.

Yustas ★★★★
() автор топика
Последнее исправление: Yustas (всего исправлений: 1)

Итого: любое хранение данных в докере идёт через UnionFS.
И эта ситуация упирается в неё.

Yustas ★★★★
() автор топика
Ответ на: комментарий от Yustas

Странно, по всем описаниям выглядит так, что при монтировании внешнего volume происходит только его bind внутрь контейнера...

pod ★★
()
Ответ на: комментарий от pod

Вот этот самый бинд идёт с использованием UnionFS, я так понял.
Ну, что бы можно было общие тома делать и монтировать их из других контейнеров.

Yustas ★★★★
() автор топика
Последнее исправление: Yustas (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.