【发布时间】:2015-07-08 10:01:52
【问题描述】:
我有两台 MySQL 服务器。一个是其他服务器的主控(实际上主控也是另一个服务器的从属)。两者都在类似的远程服务器上运行(相同数量的 RAM)。一切工作正常,除了从服务器运行相同的大型查询所需的时间是主服务器的 2-3 倍。谁能想到这个问题的原因。
【问题讨论】:
-
你检查过配置文件吗?
-
Slave 的配置文件有
query_cache_type = 1, query_cache_limit = 1M, query_cache_size = 32M, key_buffer_size = 24M,master 的配置文件有innodb_file_per_table=1, open_files_limit=21350, local-infile=0。其他一切都几乎相同。 -
您对 3 台服务器中的任何一台服务器是否有
binlog/replicate-do/ignore-...限制? Slave 是否忙于进行大量其他读取,而 Master 则没有? -
请向我们展示“大查询”,以及
SHOW CREATE TABLE和EXPLAIN SELECT ...-- 其中可能有有用的线索。 -
@RickJames,是的,还有其他用于设置日志的参数,在从属服务器中有
replicate-do-db。我在这里问了一个问题:link 以优化我正在谈论的大型查询。您可以在那里找到<query>、SHOW CREATE TABLE和EXPLAIN <query>。
标签: mysql performance master-slave