|
|
|
Разный explain и разная скорость на мастере и реплике
|
|||
|---|---|---|---|
|
#18+
Имеется кластер MariaDB: - master = 10.3.22 on Ubuntu 18.04 - slave = 10.3.14 on Ubuntu 16.04 Физически это две виртуалки на одном сервере. Ресурсы процессора и объём ОЗУ одинаковые, загружены минимально. Окружение тестовое, никакой нагрузки на базу нет. Имеется таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Количество записей и счётчик автоинкремента на мастере и слейве одинаковые, репликация работает нормально. Имеется запрос: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Проблема: на мастере результат считается в несколько раз дольше, чем на слейве. Чем длиннее список в "in (...)" - тем больше разница. Например, на слейве 2 секунды, на мастере 4. На слейве 2 минуты, на мастере 7. Explain показывает разные планы оптимизации. - На мастере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Попробовал на мастере использовать "FORCE INDEX FOR JOIN(mdl_courformopti_cou_ix)" во всех трёх JOIN'ах по очереди - не помогло. Кроме того, неясно, почему на slave отсутствует "using where". Вопросы: 1) почему планы оптимизации на мастере и слейве отличаются? 2) как повысить скорость мастера до скорости слейва? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2020, 18:51 |
|
||
|
Разный explain и разная скорость на мастере и реплике
|
|||
|---|---|---|---|
|
#18+
Добавил ключ: Код: plsql 1. Explain стал одинаковым: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Однако скорость работы всё равно отличается в разы. Мистика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2020, 19:38 |
|
||
|
Разный explain и разная скорость на мастере и реплике
|
|||
|---|---|---|---|
|
#18+
Ilya Evseev, Странный запрос. Зачем в нем одновременно и DISTINCT, и GROUP BY? Зачем в секции SELECT поля, которых нет в GROUP BY? Вам все равно что в них выведется? Зачем `value` имеет сложнохранимый тип longtext, когда маленького целочисленного поля хватило бы? Ilya Evseev Кроме того, неясно, почему на slave отсутствует "using where". Но мне больше не нравится Using temporary; на мастере. Настройки расхода памяти одинаковые? В какие значения установлены tmp_table_size и max_heap_table_size? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2020, 23:33 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=22&tid=1828614]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 18ms |
| total: | 240ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...