Я импортирую базу данных, и когда я запускаю mytop, я вижу только один поток, выполняющий вставку. В большой базе данных 80G, которая займет действительно много времени, есть ли какие-либо инструменты или может быть вариант увеличения количества потоков?
Оптимальный вариант для параллельного дампа / загрузки - mydumper. который написан людьми знающими свое дело.
Это не по теме, но, кстати, innotop - более мощный инструмент, чем mytop.
Вы можете попробовать параллель Мааткит свалка и восстановить инструменты.
Инструменты Maatkit были добавлены в Набор инструментов Percona однако я не могу найти эти два инструмента в документах.
Вы можете не увидеть улучшения скорости в зависимости от того, как настроены ваши диски. Некоторые люди видели некоторые значительные улучшения.
Вы можете попытаться увеличить значение переменной key_buffer_size в my.cnf до 20-25% доступной оперативной памяти. Обычно его значение довольно низкое, и его увеличение позволит значительно ускорить импорт / сброс. Больше информации: http://www.notesbit.com/index.php/web-mysql/mysql/mysql-tuning-optimizing-my-cnf-file/
Мои ограниченные знания не касаются многопоточности, поэтому я не могу вам здесь помочь.
Из других баз данных, особенно MySql, я знаю, что это может улучшить вашу скорость, если вы удалите индексы перед импортом и воссоздаете их впоследствии.
Конечно, это зависит в основном от двух вопросов: можете ли вы отключить базу данных во время импорта, и доказано, что данные, которые вы пытаетесь импортировать, не нарушают ограничений, которые гарантируются индексами.
Триггеры вставки и обновления и хранимые процедуры могут играть аналогичную роль.
Вы также можете просто синхронизировать вашу папку / var / lib / mysql с любым другим компьютером. Наилучший сценарий для этого был бы, если бы у вас был запущен раб. Вы можете просто остановить и выключить службу mysql. Таким образом файлы в / var / lib / mysql не будут изменены.
rsync -avhzr ssh user@yourmachine:/var/lib/mysql .
Таким образом, я мог импортировать свою базу данных 40G в течение 20 минут, в зависимости от пропускной способности вашего Интернета.