MySQL复制减慢主

我们目前正在运行MySQL 5.1

快速概览
我们使用全部连接到云上托pipe的1个DB服务器(MySQL)的5个Web服务器(Apache)。 在云(Master)上运行的数据库服务器在我们的办公室复制到本地数据库服务器(从属)。

问题
我们已经注意到,当从设备打开时,主设备进程列表开始加载未经authentication的用户。 不久,当我们停止奴隶主进程列表慢慢地回落到正常。

RAM / SWAP看起来很好,没有缓慢的查询运行来解释在MySQL进程列表中的积累。

这可能是一个networking瓶颈? 我认为这可能是一个缓慢的硬盘,但它似乎并没有关系,当它运行缓慢bin-log的大小。

您可以使用两个状态variables监视MySQL视点的线程stream量

  • Bytes_sent
  • Bytes_received

复制如何影响这些状态variables?

  • Bytes_sent :IO线程从主服务器请求binlog条目
  • Bytes_received
    • IO线程从它的主文件读取binlogs条目
    • SQL线程读取自己的中继日志

我已经在DBA StackExchange中讨论过这个问题

  • Apr 18, 2012 : MySQL:'bytes_sent'和'bytes_received'是否包含mysqldump数据?
  • Apr 13, 2014 : 确定复制stream量

瓶颈绝对是来自通过IO线程通信的云服务器的传出stream量。

几点build议

  • 在云中设置另一个从属(同一数据中心)
  • 支付更多的带宽
  • 在MySQL中禁用主机查找
    • 跳过主机caching
    • 跳过名称parsing
    • 请参阅DNS查找优化和主机caching