批量 CSV 导入的最佳设置

批量 CSV 导入的最佳设置

我们目前正在运行一个 Wordpress 网站,但每天需要从 CSV 文件导入 10,000 - 20,000 篇帖子。我们当前的设置是一台一体式 LAMP 服务器,配备 8GB RAM 和 8 个虚拟核心。导入速度相当慢,需要几个小时。

我的问题是,将 MySQL 服务器与 LAMP 服务器分离是否会提高导入速度?我们的网站在导入过程中运行速度不会变慢或停滞,我们只是想提高导入速度。

谢谢

答案1

  • 使用的是哪种表引擎?如果是 InnoDB,请尝试增加双写缓冲区的大小,并导入{更少、单个}事务(和/或设置innodb_flush_log_at_trx_commit为 1 以外的值)。如果不是 InnoDB,请切换!并设置适当的innodb_buffer_pool_size
  • 考虑重新格式化数据以便能够使用 MySQL 的内置功能LOAD DATA INFILE,与批量处理相比,它的速度非常快INSERT
  • INSERT如果可能的话,请使用扩展插入语法,而不是逐行插入。

一旦完成所有这些(或至少考虑并出于充分理由而拒绝),您可能会受到实际机器参数的瓶颈,而不是可以通过 MySQL 调整解决的问题。此时,转移到单独的机器上是有意义的。更早地进行这一转变可能会产生问题(例如由于网络延迟),也可能解决问题。

相关内容