MySQL从站上查询速度慢

时间:2014-03-20 16:52:06

标签: mysql rdbms server-administration sql-server-administration

假设一个系统具有MySQL主服务器和从属服务器。

主服务器上发生了大量的read / write,我选择对slave进行大量慢速查询。

会发生什么?主服务器是否会显示一些减速?

1 个答案:

答案 0 :(得分:0)

使用复制的从属服务器进行只读查询以进行报告等常见做法。

主服务器上的复制从日志文件中读取,但未访问实际的数据库表。主端的复制不执行任何查询,因此没有真正的数据库负载。

Replication在主服务器上有自己的线程,当它被阻止时,它不应该停止正常的数据库操作。

MySQL崩溃能够在崩溃后完全恢复,并会自动从中断处继续。

有一点需要注意。对于MySQL 5.5+,MySQL支持(默认为关闭)Semisynchronous Replication,其中主服务器上的数据库请求不会响应客户端,直到从服务器确认收到事务为止。如果超时等待从服务器响应,MySQL将恢复为异步复制。当确定从属设备已经赶上时,它将再次尝试半同步复制。

这意味着如果您运行的查询只是完全阻塞了从属服务器,您可能会在主服务器端看到最多10秒的延迟,但在此之后,什么都不会受到影响。你可以configure the timeout

此外,如果所有这些服务器共享相同的网络带宽,请考虑从任一服务器返回大型结果集可能会在您达到带宽的最大容量时导致问题。