Я импортирую большой файл .sql в свою базу данных MySQL сервера,
Однако импорт пока импортировал только несколько таблиц и в настоящее время записывается ~ 17 миллионов одной таблицы. Однако импорт приостанавливается после каждой пары тысяч записей, и эти паузы становятся тем длиннее, чем больше записей импортируется в таблицу. По сути, он скоро остановится.
Я думаю, это может быть связано с некоторыми ограничениями памяти?
однако запуск iotop показывает, что процесс jbd2 в любое время использует огромное количество дискового ввода-вывода.
могло ли это быть причиной? и если да, то есть ли какие-либо способы отключить ведение журнала до завершения импорта?
Он не просто копирует данные - СУБД должна записывать данные в таблицу и поддерживать индексы. Чтобы избежать фрагментации индексов и увеличить общую пропускную способность, он будет добавлять целую загрузку записей за раз и изменять индексы по частям - это означает, что будут периоды, когда он будет выполнять большие объемы записи файла (ов) базы данных и низкие объемы чтения из файла импорта. По мере увеличения индексов для добавления записей требуется больше работы.
Отключение журналирования файловой системы поможет увеличить пропускную способность. (возможно, большая выгода от настройки СУБД - но для этого потребуется гораздо больше усилий, проб и ошибок - что не будет иметь смысла, если восстановление выполняется нечасто).