Почему тест скорости сайта на PHP показывает низкую скорость

Низкая скорость PHP-сайта может быть связана с кодом, базой данных, сервером, кэшем или сетью. В статье показано, как отделить задержку обработки от проблем провайдера, роутера, Wi-Fi и канала, а затем выбрать подходящую оптимизацию.

Опубликовано 2026-08-17 Последнее обновление 2026-08-17 Категория: Руководства

Что показывает тест скорости сайта на PHP

Тест скорости сайта на PHP оценивает не только загрузку файлов, но и время, которое сервер тратит на запуск скрипта, обращение к базе данных и формирование HTML-ответа. Поэтому низкий результат не всегда означает проблему с домашним интернетом, провайдером или тарифом.

Обычно анализируют время до первого байта, полное время загрузки, задержку, скорость загрузки ресурсов и стабильность ответа. Для пользователя важны также скорость загрузки страниц, доступность сайта по Wi-Fi и через мобильную сеть, а для владельца сайта — производительность PHP, веб-сервера и базы данных.

Причина: медленная обработка PHP-кода

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

Проверить проблему можно по времени до первого байта и нагрузке на процессор. Если статический файл загружается быстро, а PHP-страница отвечает заметно дольше, нужно профилировать код и искать наиболее затратные функции.

Причина: неоптимизированные запросы к базе данных

PHP-сайт часто ждёт ответа от базы данных. Долгий запрос, отсутствие индекса, выборка лишних полей или обработка большого количества строк увеличивают время формирования страницы. Особенно заметно это на каталогах, форумах, интернет-магазинах и сайтах с личными кабинетами.

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

Причина: слабые ресурсы сервера или перегрузка

Недостаток оперативной памяти, процессорного времени или дисковой производительности замедляет выполнение PHP и работу базы данных. На общем хостинге задержка может расти в часы пик из-за нагрузки соседних проектов. В результате тест показывает нестабильное время ответа при одинаковом запросе.

Сравните результаты в разное время и проверьте загрузку CPU, памяти, диска и число активных процессов. Если статические ресурсы и PHP-страницы замедляются одновременно, проблема вероятнее находится на сервере или в его сетевой инфраструктуре.

Причина: отсутствие или неправильная настройка кэширования

Без кэша сервер заново запускает PHP и выполняет одинаковые запросы при каждом посещении. Это увеличивает задержку и нагрузку, особенно когда контент меняется редко. Отдельно важно проверить OPcache, кэширование результатов запросов и кэш готовых HTML-страниц.

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

Причина: тяжёлые изображения и фронтенд-ресурсы

Даже быстрый PHP-ответ не компенсирует большие изображения, лишние библиотеки JavaScript и неиспользуемые стили. В этом случае первый байт приходит быстро, но полная загрузка страницы занимает много времени. Пользователь может воспринимать это как медленную работу сайта.

В инструментах разработчика браузера проверьте размер ресурсов, порядок их загрузки и время блокировки. Изображения стоит сжимать и отдавать в современных форматах, а скрипты и стили — минифицировать, разделять и загружать только там, где они нужны.

Причина: проблемы с сетью, провайдером или Wi-Fi

Задержка между пользователем и сервером зависит от маршрута, загрузки сети провайдера и качества домашнего подключения. Роутер, слабый сигнал Wi-Fi, помехи в диапазоне 2,4 ГГц или одновременная загрузка файлов могут ухудшать результат теста. Оптическое подключение обычно стабильнее, но не исключает проблем с роутером или маршрутизацией.

Сначала сравните тест по кабелю и по Wi-Fi, затем проверьте сайт из другой сети и с другого устройства. Если задержка растёт только в домашней сети, проверьте роутер, канал Wi-Fi и фоновые загрузки. Если одинаковая проблема наблюдается из нескольких независимых сетей, вероятнее неисправен сервер или его маршрут.

Как определить источник замедления

  1. Проверьте статический файл. Быстрая загрузка небольшого файла при медленной PHP-странице указывает на обработку приложения.
  2. Сравните время до первого байта и полную загрузку. Большое время до первого байта связано с сервером или PHP, а длинная загрузка после ответа — с ресурсами страницы или сетью.
  3. Повторите тест несколько раз. Разброс результатов помогает выявить перегрузку сервера, нестабильный Wi-Fi или переменную задержку маршрута.
  4. Проверьте разные сети. Используйте кабель, Wi-Fi и мобильную сеть, чтобы отделить домашнее подключение от проблем сайта.
  5. Посмотрите журналы. Логи веб-сервера, PHP и базы данных позволяют найти ошибки, долгие запросы и превышение лимитов.

Что оптимизировать в первую очередь

  • Код PHP: удалите повторные вычисления, сократите количество подключений и используйте профилирование.
  • Базу данных: добавьте необходимые индексы, ограничьте выборки и устраните повторяющиеся запросы.
  • Кэш: включите OPcache и настройте кэш страниц или результатов для редко меняющихся данных.
  • Сервер: проверьте лимиты памяти, CPU, PHP-FPM, дисковую подсистему и текущую нагрузку.
  • Ресурсы: сожмите изображения, включите передачу по HTTPS с HTTP/2 или HTTP/3 и настройте длительное кэширование.
  • Домашнюю сеть: для диагностики используйте кабель, разместите роутер открыто и исключите параллельную загрузку.

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