У меня есть кластер MySQL: (master, two slaves). Недавно (7 дней), я столкнулся с какой-то странной проблемой: у того же SQL разные затраты на разные хосты db. Эта проблема произошла только на несколько таблиц;Большая разница в производительности MySQL между ведущим и ведомым
Я хочу знать, почему и как решить эту проблему. Мастер стоимость 2.47sec
mysql> explain select id from notification_message where expire_time < '2015-07-23' limit 1\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: notification_message
type: range
possible_keys: idx_expire_time
key: idx_expire_time
key_len: 6
ref: NULL
rows: 5414595
Extra: Using where; Using index
1 row in set (0.00 sec)
mysql> select id from notification_message where expire_time < '2015-07-23' limit 1\G
*************************** 1. row ***************************
id: 186925000
1 row in set (2.47 sec)
Ведомый стоимость 0.00sec
mysql> explain select id from notification_message where expire_time < '2015-07-23' limit 1\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: notification_message
type: range
possible_keys: idx_expire_time
key: idx_expire_time
key_len: 6
ref: NULL
rows: 4999367
Extra: Using where; Using index
1 row in set (0.00 sec)
mysql> select id from notification_message where expire_time < '2015-07-23' limit 1;
+-----------+
| id |
+-----------+
| 186925000 |
+-----------+
1 row in set (0.00 sec)
Вот для MySQL версии
версия Мастер-сервер: «Версия сервера: 5.6.15 -56-log Percona Server (GPL), Release rel63.0, редакция 519 "
Подчиненный сервер версии: "Версия сервера: 5.6.22-71.0-журнал Percona сервера (GPL), Release 71.0, Редакция +726"
Вот аппаратные
мастер же в качестве ведомого устройства: ОС ядро: Linux 2.6.32-431.20.3.el6.mt20150216.x86_64 ОС: CentOS CPU: Intel (R) Xeon (R) CPU E5-2630 v2 @ 2.60GHz CPU Num: 24 баран: 130GB RAID: (raid1, SAS [1TB * 2] 1TB) (рейд5, SSD [480.0GB * 6] 2.4TB)
мастер: 'ОС ядро: Linux 2.6.32-431.20.3.el6.mt20150216.x86_64 \t ОС: CentOS \t CPU: Intel (R) Xeon (R) CPU E5-2630 v2 @ 2.60GHz \t процессора Num: 24 \t барана: 130GB' ведомый: 'Ядро ОС: Linux 2.6.32-431.20.3.el6.mt20150216.x86_64 \t ОС: CentOS \t процессора Intel (R) Xeon (R) процессор E5-2630 v2 @ 2.60GHz \t процессора Num: 24 \t барана: 130GB' \t RAID: (raid1, SAS [1 ТБ * 2] 1 ТБ) (RAID5, SSD [480.0GB * 6] 2.4TB) –
, запрещающий любую необходимость запускать 'анализ таблицы' для обновления статистики, и я, конечно, не рекомендовал бы это волей-неволей на 5-миллиметровых строках, мастер вряд ли сидит вокруг до такой степени, что подчиненный (или был). Сосредоточьтесь на подобной команде linux 'top'. – Drew
Сервер db имеет 5 + базы данных, 100 + таблицы. Только несколько таблиц сталкиваются с этой проблемой –