Middle База данных Рекомендуется

Отладка запросов: SQL Tracker

Анализ запросов к базе выполняется через режим отладки в административной панели или программно с помощью класса Bitrix\Main\Diag\SqlTracker. Трекер фиксирует полный текст запросов, время их исполнения и стек вызовов (getTrace()), позволяя локализовать проблему N+1 запросов в компонентах и медленные выборки в фоновых агентах.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Включение трекера
  • 2
    Анализ запросов
  • 3
    Поиск узких мест

Материалы

Проверь себя

Заказчик жалуется, что страница раздела открывается четыре секунды. С чего начать, не открывая код?

С кнопки «Отладка» в панели администратора под админом: включить статистику SQL и включаемых областей. Под каждым компонентом появится число запросов, и виновник обычно один — компонент с сотнями запросов в цикле.

Почему кнопка «Отладка» ничего не показывает по агенту или консольной команде, и что использовать вместо неё?

Панель работает только на хите с авторизованным администратором. В CLI, агентах и AJAX-обработчиках трекер запускают из кода: Connection::startTracker(), затем getQueries() у объекта SqlTracker или startFileLog() для записи в файл.

Трекер показал 300 одинаковых запросов, но не понятно, откуда они. Как найти место в коде?

У каждого SqlTrackerQuery есть getTrace() со стеком вызовов, глубина по умолчанию 10 кадров и меняется через setDepthBackTrace(). В стеке ищут первый кадр вне ядра: обычно это result_modifier.php или обработчик события.

Разработчик оставил startFileLog() на проде «на пару дней». Что произойдёт?

Каждый запрос всех хитов с полным стеком пишется в один файл; на сайте с трафиком он вырастет до гигабайт за часы и забьёт диск. Плюс сам трекер держит все запросы хита в памяти и замедляет страницу.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти