NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
RU

Оптимизация производительности

Разбор медленных запросов MySQL

Девять медленных сайтов из десяти — это медленные базы данных в костюме сайта. Системный разбор медленных запросов, журналирование, группировка по суммарному влиянию, планы EXPLAIN и проектирование индексов превращают загадочную медлительность в упорядоченный список правок с измеримым выигрышем после каждого изменения.

Главное

  1. Включить журнал медленных запросов и запросов без индексов с разумным порогом long_query_time.
  2. Группировать через pt-query-digest: ранжировать по суммарному времени, а не по худшему запросу.
  3. Читать вывод EXPLAIN правильно: тип доступа, использование ключа, число просмотренных строк против переданных.
  4. Проектировать покрывающие индексы для горячих путей и убирать пересекающиеся лишние.
  5. Лечить шаблоны N+1 в коде приложения: никакой индекс не спасёт болтливый цикл.
  6. Подбирать размер временных таблиц, буферов соединения и пула InnoDB по данным измерений.
  7. Перемерять главные запросы после каждого изменения и вести журнал их производительности.
  8. Планировать повторный разбор: рост данных незаметно обесценивает старые планы.

Частые вопросы

Почему сайт медленный при свободном процессоре?

Классическое ожидание базы данных: процессоры простаивают, пока запросы стоят в очереди. Журналы доказывают это за минуты.

Какой прирост типичен?

Улучшение исправленных запросов в 10-100 раз — обычное дело; после полного прохода сайт целиком ускоряется в 2-5 раз.

Помешает ли анализ боевой среде?

Нет. Накладные расходы журналирования около 1%, а сам анализ идёт вне боевой среды на копиях журналов.

А что с Percona или MariaDB?

Методика та же, различаются детали по движкам. Мы настраиваем MySQL, MariaDB и Percona Server.

Как мы берём на себя оптимизация производительности

Мы разбирались с этим сотни раз: Настройка серверов, работа с базами данных, кэширование и ускорение фронтенда, которые сокращают время загрузки и расходы на хостинг. С услугой Оптимизация скорости сайтов и Администрирование серверов вы получаете полный цикл: мы оцениваем, внедряем, следим круглосуточно и подключаемся в течение 30 минут, когда это действительно нужно.

Поговорить с инженером

Проблема с сервером? Взломанный сайт? Медленная страница?

Критические инциденты с ответом в течение 30 минут — круглосуточно, 7 дней в неделю.

Запросить экстренную поддержку support@kinetikatech.com