Медленный TTFB WordPress: от замера до причины
Высокий TTFB WordPress возникает до загрузки изображений и JavaScript: сервер долго формирует HTML. Диагностику нужно вести по слоям — повторяемость, кеш, плагины и тема, запросы базы, PHP-FPM, внешние API и ресурсы сервера.
Шкала риска
Демо-ориентир для быстрой интерпретации результата.
Показатель выглядит штатно.
Пора проверить динамику и причины.
Нужна диагностика до инцидента.
Сервис может быть недоступен пользователям.
Диагностика высокого TTFB WordPress: замеры, плагины, тема, база данных, object cache, PHP-FPM, cron, внешние API и серверные ресурсы.
Измерьте TTFB правильно
Сделайте серию проверок одной страницы с одинаковыми условиями. Первый запрос после очистки кеша и прогретый ответ — разные сценарии. Отдельно измерьте главную, запись, каталог, поиск и авторизованную область.
Фиксируйте медиану и высокий перцентиль, а не один удачный замер. Если задержка появляется периодически, сопоставьте её со временем cron, резервного копирования, импорта или всплеска трафика.
Проверьте кеширование и дорогие плагины
Полностраничный кеш часто даёт самый заметный эффект для публичных страниц, но он не должен скрывать медленную генерацию динамических страниц. Убедитесь, что ответ действительно приходит из кеша и правила исключений не отключили его для всего сайта.
Для поиска виновника используйте профилировщик или staging-копию: сравнивайте время с контролируемым отключением групп плагинов. Не экспериментируйте на production без плана отката.
Мониторинг покажет, когда состояние изменится
Добавьте сайт или сервер один раз — perfMon будет проверять его автоматически, сохранит историю и сообщит о сбое и восстановлении.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа
Найдите медленные запросы и autoload
Медленные SQL-запросы, разросшиеся таблицы и чрезмерный объём autoloaded options увеличивают время каждого PHP-запроса. Используйте slow query log, Query Monitor на тестовой среде и EXPLAIN для подтверждённых тяжёлых запросов.
Object cache на Redis или Memcached уменьшает повторные обращения к базе, но не исправляет запрос без индекса и бесконтрольный рост данных. Перед удалением записей сделайте резервную копию и определите владельца данных.
Проверьте PHP-FPM, cron и внешние зависимости
Очередь PHP-FPM растёт, если worker-процессов мало для нагрузки или каждый запрос слишком долгий. Смотрите active/idle processes, max children reached, память процесса и slowlog.
WP-Cron может запускать тяжёлые задачи внутри пользовательского запроса. Для предсказуемости его переносят в системный cron. Внешние API, SMTP и лицензирующие сервисы должны иметь ограниченные таймауты и кеширование результата.
Закрепите улучшение мониторингом
После каждого изменения повторите тот же набор измерений и сравните медиану, p75/p95 и частоту медленных ответов. Иначе улучшение легко принять за случайный прогретый запрос.
Регулярный мониторинг TTFB критичных страниц покажет регрессию после релиза, установки плагина или роста базы. Добавьте рядом CPU, RAM, диск и инциденты, чтобы видеть контекст, но подтверждайте причину профилировщиком и логами.
Автоматизируйте проверку, описанную в статье
Разовая диагностика помогает сейчас. Регулярный мониторинг нужен, чтобы не пропустить повторение проблемы.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа
Попробовать 7 днейПрименить на практике
Частые вопросы
Короткие ответы на вопросы, которые обычно возникают при диагностике.
Какой TTFB считать хорошим для WordPress?
Универсального числа нет, но для публичной кешируемой страницы разумно стремиться к стабильному ответу до 200–300 мс с близкими высокими перцентилями.
CDN исправит высокий TTFB?
CDN помогает, если кеширует HTML на edge. Для динамических и некешируемых запросов причину всё равно нужно искать в WordPress, PHP, базе и зависимостях.
Опасно ли отключать плагины для проверки?
На production — да. Используйте staging, резервную копию и контролируемый план, особенно для платежей, форм и безопасности.
Почему TTFB иногда высокий, а иногда нормальный?
Частые причины — MISS кеша, cron, очередь PHP-FPM, медленный внешний API, блокировки базы или конкуренция за CPU и диск.
Не ждите следующего сообщения «сайт не работает»
Добавьте первый сайт или сервер: perfMon будет проверять состояние автоматически, сохранит историю и уведомит ответственных.
7 дней без оплаты и банковской карты с момента создания сервера. Затем 2 000 ₽ за сервер за 30 дней, до 50 сайтов на сервер. Продление вручную. Условия тарифа