Моя маленькая база данных объемом 5 ГБ, для которой требуется 5 минут для сброса через mysqldump, требуется 9 часов для восстановления. К счастью, я узнал об этом во время пробного запуска, а не в реальной чрезвычайной ситуации.
Каковы лучшие параметры для оптимизации, чтобы ускорить это?
Я пробовал следующие настройки на моем сервере с 2 ГБ оперативной памяти:
innodb_buffer_pool_size=512M
innodb_additional_mem_pool_size=50M
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_flush_log_at_trx_commit=0
innodb_log_file_size=1G
innodb_log_buffer_size=1G
Странно то, что даже с этими агрессивными настройками top
только показывает, что mysqld едва использует часть выделенной памяти:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4421 mysql 20 0 247m 76m 5992 S 91 3.7 4:09.33 mysqld