我试图恢复一个1.3TB的数据库及其在AWS Aurora中的数据库。我希望将此数据库的副本还原到EC2实例(32 vCPU,244 32内存)。
我用我的翻盖机从AWS RDS那里得到支援,花了6个小时。
但是我试着用myloader加载这个备份。它的运行时间超过12小时,但仍然只有30%的数据恢复正常。
Threads: 200
Queries Per thread: 10000max_connections = 3000
wait_timeout = 86400
interactive_timeout = 86400
innodb_buffer_pool_size =235G
bulk_insert_buffer_size = 5G
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_read_io_threads = 8
innodb_write_io_threads = 22
innodb_adaptive_hash_index = 0
innodb_old_blocks_pct = 45
transaction_isolation = READ-UNCOMMITTED
innodb_purge_threads = 2
innodb_change_buffering = inserts
innodb_change_buffer_max_size = 30
query_cache_size = 0
innodb_buffer_pool_instances=20
innodb_log_buffer_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 1G
max_allowed_packet=1G是否有任何其他设置,我应该改变更快的恢复?
发布于 2017-10-07 23:36:50
我想它被200根线卡住了。建议不要使用超过两倍的CPU核心数量。即使这可能太高了..。
特别是,在填充I/O之后添加更多线程是没有用的(我不熟悉您的配置,所以我不能说得更具体)。
innodb_buffer_pool_size =235G的内存高达244 is,这是非常危险的。如果有交换的话,那可能会扼杀表演。
如果您已经“索引每一列”,这是另一个性能杀手的加载。“索引每一列”通常是无用的。相反,找出您需要的索引,并且只需要它们。这通常包括“复合”索引。
此外,一个表上的多个UNIQUE (包括PRIMARY)索引也很昂贵。
https://dba.stackexchange.com/questions/187717
复制相似问题