LINUX.ORG.RU
ФорумAdmin

Какие параметры mysql наиболее сильно влияют на скорость втягивания дампов?

 ,


1

2

Задача — как можно быстрее втягивать дампы на домашней машине. А то с экспериментами по репликации застрелиться можно. Дампы по 9Гб, тянутся по часу, наверное. Данные смешанные, и MyISAM, и InnoDB.

Может, что подкрутить? Но и так, чтобы зазря памяти много не жрало. Материнка больше 4Гб не поддерживает :)

Сейчас так:

max_allowed_packet = 10M
table_open_cache = 1500
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
net_buffer_length = 2K
thread_stack = 64K

max_connections = 10
ft_min_word_len = 2
thread_cache_size = 8
key_buffer = 256M
query_cache_size = 4M
open_files_limit = 5000

net_buffer_length           = 8K
myisam_sort_buffer_size     = 8M

innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 8M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M

★★★★★

Суть в том, что на скорость отдачи плевать (условно), важна именно скорость загрузки дампов.

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

LOAD DATA INFILE нужно юзать

Оно, разве совместимо с master-data? Чтобы не городить огороды с переводами сервера в R/O?

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

А лучше и совсем, взять да postgresql попробовать. Там pg_basebackup поднимается слейв копированием датафайлов с мастера на скорости сети/дисков притом на ходу. Никаких дампов, загрузок не нужно.

ventilator ★★★
()

попробуй отключать контроль целостности:

SET unique_checks=0;
SET foreign_key_checks=0;
Можно еще попробовать задрать key_buffer_size до гига к примеру

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

А лучше и совсем, взять да postgresql попробовать

Он уже умеет мастер-мастер репликацию в произвольных цепочках?

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

попробуй отключать контроль целостности

Попробую.

Можно еще попробовать задрать key_buffer_size до гига к примеру

Жирно ему будет :) Хотя, если только для загрузки… Но не думаю, что сильно поможет. Он же больше влияет на скорость чтения. А тут, фактически, тормозит в первую очередь построение индексов, полагаю.

KRoN73 ★★★★★
() автор топика

Вот же ж блин. mysql без танцев с бубном не умеет схему «несколько мастеров на один слейв». Придётся, видимо, по LXC-контейнерам раскидывать.

KRoN73 ★★★★★
() автор топика

Innodb:

If you have UNIQUE constraints on secondary keys, you can speed up a table import by turning off the uniqueness checks temporarily during the import operation:

SET unique_checks=0;... import operation ...
SET unique_checks=1;
For big tables, this saves a lot of disk I/O because InnoDB can then use its insert buffer to write secondary index records as a batch. Be certain that the data contains no duplicate keys. unique_checks permits but does not require storage engines to ignore duplicate keys.

zgen ★★★★★
()
Ответ на: комментарий от ei-grad

А mysql умеет?

Ну, кроме того, что мастер должен быть один (соответственно, мультимастерные системы только в виде кольца), в остальном — как угодно. Т.е. на любые мастера или слейвы вешается любое число слейвов, которые, в том числе, могут быть мастерами для своих мастеров.

Собственно, это, вообще, скорее просто вопрос с подначкой был. Как в Слонике сейчас с репликацией? Раньше как-то всё плохо было :)

Кольцо из трёх серверов как сложно/просто сделать?

В MySQL в простейшем виде это несколько строк в конфигах, сброс дампа с блокировкой, втягивание дампа на машинах кольца и поочерёдное включение их в цепочку. Всё, кроме прописывания строчек в конфиг не требует рестарта.

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

Репликация кольцом?.. А вы знаете толк в извращениях...

postgresql, afaik, не умеет репликацию со слейва на другой слейв

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

Репликация кольцом?.. А вы знаете толк в извращениях...

Вообще-то, очень распространённое решение.

Например, выпадает один сервер, нагрузка (в том числе модификация) спокойно переходит на другие. Сервер возвращается, быстро догоняет отставание от своего мастера и продолжает работать. Соответственно, подразумевается, что падение любого сервера разрывает на время кольцо, но восстановление его приводит к общей синхронизации.

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