mysql从数据库问题
目前我们有3个从数据库 但几乎总是有一个比其他的慢得多(可能在主数据库之后一个小时)mysql从数据库问题,mysql,master-slave,Mysql,Master Slave,目前我们有3个从数据库 但几乎总是有一个比其他的慢得多(可能在主数据库之后一个小时) 有没有遇到过类似的问题?原因可能是什么?我猜其他进程与慢速复制副本在同一台主机上运行,占用了大量资源 尝试运行“top”(或使用Nagios或Cactus等)来监视三台复制主机上的系统性能,看看是否有任何趋势可以观察到。CPU利用率由mysqld之外的另一个进程决定,或者I/O不断饱和,诸如此类 更新:阅读MySQL性能专家Peter Zaitsev的以下两篇文章: 作者指出,复制是单线程的,复制副本
有没有遇到过类似的问题?原因可能是什么?我猜其他进程与慢速复制副本在同一台主机上运行,占用了大量资源 尝试运行“top”(或使用Nagios或Cactus等)来监视三台复制主机上的系统性能,看看是否有任何趋势可以观察到。CPU利用率由mysqld之外的另一个进程决定,或者I/O不断饱和,诸如此类
更新:阅读MySQL性能专家Peter Zaitsev的以下两篇文章:
- 如果有影响数百万行的更新,请将其分解为多个更新,这些更新将作用于行的子集
- 如果将复杂的SELECT语句合并到UPDATE或INSERT查询中,请将SELECT语句分离到自己的语句中,在应用程序代码中生成一组文字值,然后对这些语句运行UPDATE或INSERT。当然,SELECT不会被复制,复制副本只会看到带有文本值的更新/插入
- 如果正在运行长时间运行的批处理作业,则可能会阻止在复制副本上执行其他更新。您可以在批处理作业中设置一些休眠,甚至可以写入批处理作业,以每隔一段时间检查复制延迟,并在需要时休眠