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

MariaDB использует только одно ядро/поток

 , ,


0

1

Здравствуйте!

Есть сервер Ubuntu 18.04.1 LTS, на нём стоит mysql Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2.

Проблема следующая: MariaDB работает только в один поток, т.е. в top мы видим только один процесс и если загрузить БД тяжёлым запросом(например, при выполнении бекапа), то новые потоки не запускаются - mysql начинает использовать 100% одного ядра и последующие запросы перестают выполняться до завершения тяжёлого, БД оказывается недоступна.

Конфиг следующий: [server] [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking skip_name_resolve bind-address = 127.0.0.1

performance_schema = ON key_buffer_size = 10G max_allowed_packet = 16M thread_cache_size = 8 myisam_recover_options = BACKUP max_connections = 3000

log_error = /var/log/mysql/error.log

expire_logs_days = 10 max_binlog_size = 100M

character-set-server = utf8mb4 collation-server = utf8mb4_general_ci

[embedded]

[mariadb]

[mariadb-10.1]

Вопрос: как заставить БД использовать несколько ядер/потоков?

Разобрался: параметр slave_parallel_threads



Последнее исправление: mc8 (всего исправлений: 1)

Ответ: купить лицензию на mysql.

Anoxemian ★★★★★
()

Неблокирующий бекап, например...

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

Конечно мариадб многопоточная (если мы говорим не о реплике, хотя и там варианты есть). Ты путаешь однопоточность и то, что ты лочишь таблицы во время бэкапа. Небось еще и myisam юзаешь.

anonymous
()

последующие запросы перестают выполняться до завершения тяжёлого, БД оказывается недоступна.

Так может быть, таблички блокируются, а не мускул однопоточный? Ну и количество тредов в конфиге можно задать.

Давай запрос для начала, а еще лучше сразу с explain.

Deleted
()
Ответ на: комментарий от anonymous

С иннодб можно с лёту deadlock ловить, пусть уж лучше в myisam сидит.

Deleted
()
Ответ на: комментарий от mc8

Все редакции mysql такие. Вообще надо учить матчасть: какой табличный движок используется, как он работает, как бекапить с zero-downtime и т.д...

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

разве все «топовые корпорации мира» не останавливают свои сервера раз в неделю, на пару часов, для бекапов и перезапуска не текущих javascript серверов...

этим вашим «zero-downtime» вообще ктото пользуется?

missxu
()
Ответ на: комментарий от TOXA

он живёт в корпоративных реальностях, там и высоких нагрузок нет, и они себе могут позволить простой железа

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.