Мониторинг и отладка mysql: максимум информации при...
TRANSCRIPT
![Page 1: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/1.jpg)
Мониторинг и отладка MySQLМаксимум информации при минимальных потерях
Света СмирноваТехническая поддержка MySQL
19 июня 2015 года
![Page 2: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/2.jpg)
Введение: конфликт желаний ивозможностей
Почему мониторинг - это дорого?
Как найти "золотое сечение"?
Включаем по требованию для решенияконкретной проблемы
Итоги
2 www.percona.com
![Page 3: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/3.jpg)
Конфликт желаний и возможностей
3 www.percona.com
![Page 4: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/4.jpg)
Желания
• При возникновении проблемы намнужно как можно больше информации
• Во всяком случае достаточно длядиагностики конкретного случая
• При этом сайт не должен замедлитьсяни на наносекунду
4 www.percona.com
![Page 5: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/5.jpg)
Возможности
• Почти любой мониторинг - это дорого
• Стоит задуматься о
• Памяти• Месте на диске• Процессорном времени• Всём сразу
5 www.percona.com
![Page 6: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/6.jpg)
Тестируем
• Всё включено:
./mtr –start innodb –mysqld=–core-file–mysqld=–general-log=1 –mysqld=–innodb-monitor-enable–mysqld=–innodb-print-all-deadlocks –mysqld=–innodb-status-file=1–mysqld=–innodb-status-output=1 –mysqld=–log-bin –mysqld=–slow-query-log–mysqld=–log-warnings –mysqld=–performance-schema=1 –mysqld=–userstat=1–mysqld=–thread-statistics=1
6 www.percona.com
![Page 7: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/7.jpg)
Тестируем
• Выключено по максимуму:
./mtr –start innodb –mysqld=–general-log=0 –mysqld=–innodb-monitor-disable–mysqld=–innodb-print-all-deadlocks=0 –mysqld=–innodb-status-file=0–mysqld=–innodb-status-output=0 –mysqld=–slow-query-log=0–mysqld=–performance-schema=0–mysqld=–userstat=0 –mysqld=–thread-statistics=0
7 www.percona.com
![Page 8: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/8.jpg)
Тестируем
• Percona-Server-5.6.24-rel72.2-Linux.x86_64.ssl100
• Мой ноутбук• Стандартный OLTP SysBench тест:
~/build/sysbench/bin/sysbench –mysql-user=root –mysql-host=127.0.0.1–mysql-port=13001 –test=$HOME/src/sysbench/sysbench/tests/db/oltp.lua–num-threads=8 –oltp-table-size=100000 prepare
for N in ‘echo 1 2 4 8 16‘; do~/build/sysbench/bin/sysbench –mysql-user=root –mysql-host=127.0.0.1–mysql-port=13001 –test=$HOME/src/sysbench/sysbench/tests/db/oltp.lua–num-threads=$N –max-time=60 run;done
8 www.percona.com
![Page 9: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/9.jpg)
Иллюстрация
1 2 4 8 16
2,000
4,000
6,000
8,000
Threads
Even
tsВыключеноВключено
9 www.percona.com
![Page 10: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/10.jpg)
Почему мониторинг - это дорого?
10 www.percona.com
![Page 11: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/11.jpg)
Логи требуют дискового пространства
• General query log может занять всёсвободное место на диске
• Что делать в случае нагрузки в40GB/час только на запись?
• Rotate policy• Рекомендации из официальногоруководства
• Rotating MySQL slow logs safely
11 www.percona.com
![Page 12: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/12.jpg)
Логи требуют дискового пространства
• General query log может занять всёсвободное место на диске
• Что делать в случае нагрузки в40GB/час только на запись?
• Rotate policy• Рекомендации из официальногоруководства
• Rotating MySQL slow logs safely
11 www.percona.com
![Page 13: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/13.jpg)
Память• Performance Schema
• Требует выделенной памяти• Память выделяется при старте изанята даже если P_S неиспользуется - исправлено в 5.7!
• Размер таблиц history ограничен• Information Schema
• Некоторые запросы используютчересчур много памяти
• bug #72322 исправлен в 5.5.44,5.6.25, 5.7.8, 5.8.0 - обновитесь!
12 www.percona.com
![Page 14: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/14.jpg)
CPU usage• Performance Schema
• Работает за счёт кода,срабатываемого при каждом вызовеисследуемой функции
• То есть каждый анализируемыйучасток кода вызывает срабатываниеещё одного вызова
• Binary log• В случае использования sync_binlogдобавляются дополнительныевызовы fsync
13 www.percona.com
![Page 15: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/15.jpg)
Сеть
• MySQL Proxy и другие proxy
• Дополнительный слой
14 www.percona.com
![Page 16: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/16.jpg)
Внутренние блокировки
• SHOW SLAVE STATUS• SHOW [GLOBAL] STATUS
• Производительность замедляетсяпри параллельном использовании
• Bug #42930 исправлен в 5.7.0:готовьтесь обновиться!
• Information Schema• Binary log
15 www.percona.com
![Page 17: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/17.jpg)
Оптом
• Приложения с графическиминтерфейсом
• Как правило используют те жеинструменты
• STATUS VARIABLES
• MySQL и системные логи
• Performance Schema
• Имеют те же ограничения
16 www.percona.com
![Page 18: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/18.jpg)
Как найти "золотое сечение"?
Нельзя вот так взять и запуститьmysqld без диагностики вообще!
17 www.percona.com
![Page 19: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/19.jpg)
Начинаем с минимально неоходимого
• MySQL error log
• Log files операционной системы
18 www.percona.com
![Page 20: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/20.jpg)
Кое-что можно включать по требованию
• General, slow query log файлы• InnoDB Monitors• Consumers в Performance Schema
• Performance Schema уже включена ипамять выделена
• Data collection при помощи pt-stalk• Переменные, статусы сервера иInnoDB, processlist
• Системная диагностика19 www.percona.com
![Page 21: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/21.jpg)
Решаем конкретную проблему
20 www.percona.com
![Page 22: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/22.jpg)
Динамически
• General query log
• Slow query log
• InnoDB Monitors
• Performance Schema instruments иconsumers
21 www.percona.com
![Page 23: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/23.jpg)
Требуется перезапуск
• Error log
• Binary log
• Performance Schema
22 www.percona.com
![Page 24: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/24.jpg)
В зависимости от задачи
• Оптимизация• Запросов• Приложения в целом
• Блокировки
• Крэши
• Неожиданное поведение
23 www.percona.com
![Page 25: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/25.jpg)
Оптимизация запросов
• Slow query log
• pt-query-digest
• Таблицы в P_S: statements и stages
• Query Analyzer (QUAN) в MySQLEnterprise Monitor (MEM)
• Percona Cloud Tools (PCT)
24 www.percona.com
![Page 26: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/26.jpg)
Оптимизация приложения в целом
• InnoDB Monitors• Performance Schema• Сбор данных при необходимости
• Запущенные вручную SHOW иSELECT ... FROMINFORMATION_SCHEMA
• pt-stalk• PCT• MEM
25 www.percona.com
![Page 27: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/27.jpg)
Блокировки
• P_S MDL tables
• InnoDB Monitors
• innodb_print_all_deadlocks
26 www.percona.com
![Page 28: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/28.jpg)
Крэши
• Core dumps
• General query log
• Binary log
• Содержит только команды,изменяющие данные
• Крэш может быть вызван иSELECT-ом
27 www.percona.com
![Page 29: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/29.jpg)
Неожиданное поведение
• General query log
• Binary log
• Только для непредвиденных данныхв базе
28 www.percona.com
![Page 30: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/30.jpg)
Итоги
29 www.percona.com
![Page 31: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/31.jpg)
Всегда включено
• MySQL error log
• Системные логи
30 www.percona.com
![Page 32: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/32.jpg)
Включаем по требованию
• Performance Schema
• InnoDB Monitors
• General, slow, binary log
31 www.percona.com
![Page 33: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/33.jpg)
Дополнительная информация
• mysqld-option-tables.html
• PCT(http://cloud.percona.com/)
• MySQL Enterprise Monitor
• Percona Toolkit
32 www.percona.com
![Page 34: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/34.jpg)
Место для вопросов
???
33 www.percona.com
![Page 35: Мониторинг и отладка MySQL: максимум информации при минимальных потерях](https://reader034.vdocuments.mx/reader034/viewer/2022042602/55b93d73bb61ebad7d8b46ab/html5/thumbnails/35.jpg)
Спасибо!
http://www.slideshare.net/SvetaSmirnova
https://twitter.com/svetsmirnova
34 www.percona.com