Отладка производительности MySQL
Рост. Большие нагрузки. Увеличение числа пользователей, просмотров, объёма данных. Запросы к базе стали отрабатывать дольше? Клиенты висят в списке процессов и чего-то ждут? Сервер "завис"? Что делать?
У MySQL есть инструменты, помогающие понять какие изменения приводят к потере производительности.
На мастер-классе я покажу, на основе личного опыта работы в технической поддержке, простые в использовании методы, позволяющие определить причины нежелательного поведения и их устранить. Я расскажу, в каком порядке их удобно использовать, с чего начать и как углубиться в проблему, научу безопасно тестировать.
Рост. Большие нагрузки. Увеличение числа пользователей, просмотров, объёма данных. Запросы к базе стали отрабатывать дольше? Клиенты висят в списке процессов и чего-то ждут? Сервер "завис"? Что делать?
У MySQL есть инструменты, помогающие понять какие изменения приводят к потере производительности.
На мастер-классе я покажу, на основе личного опыта работы в технической поддержке, простые в использовании методы, позволяющие определить причины нежелательного поведения и их устранить. Я расскажу, в каком порядке их удобно использовать, с чего начать и как углубиться в проблему, научу безопасно тестировать.
Эксклюзивно для PG Day, специальный раздел мастер-класса будет посвящён Performance Schema. Впервые появившаяся в версии 5.5, она расширяет набор инструментов с каждым новым релизом. Сегодня доступны 100 таблиц, 1160 инструментов, 43 опции настроек. С её помощью можно отлаживать хранимые процедуры, отслеживать, где используется оперативная память MySQL сервера, просматривать текущие переменные отдельно для каждого соединения, отлаживать запросы, диагностировать блокировки и многое другое. Мы рассмотрим как настраивать Performance Schema, попробуем инструменты, научимся эффективно выбирать нужный.
Мы рассмотрим такие темы как:
- создание и использование тестового сервера;
- тонкости отладки медленных запросов;
- особенности систем блокировок;
- влияние оборудования и конфигурации на производительность;
- сбор данных с минимальной нагрузкой на сервер.
Я расскажу про архитектуру MySQL сервера и специфику работы с разными его частями, такими как оптимизатор, табличные движки, системы блокировок.
Мы будем рассматривать как встроенные, всегда доступные инструменты, так и утилиты командной строки, облегчающие работу. Отдельное внимание будет уделено возможностям отладки, появившимся в последних версиях.