Назад | Перейти на главную страницу

Медленный TTFB на одном сайте WordPress в среде Nginx на DigitalOcean (20 $)

В среде Ubuntu 16.04 Nginx по умолчанию, размещенной на 20 $ DigitalOcean droplet У меня есть только один сайт WordPress с небольшим объемом данных: около 10 веб-страниц, 10 изображений (около 100 КБ каждое) и 6 общих плагинов (все в конфигурации по умолчанию).

У меня немного медленное время загрузки (TTFB) на этом сайте.

Файлы конфигурации

Кеширование WordPress (AutoPtimize):

Кеширование OpCode:

Моя проблема

С тех пор, как я загрузил сайт около полутора месяцев назад, я продолжаю получать следующую ошибку в каждом Тест Google PageSpeed ​​Insights (GPI):

Уменьшить время ответа сервера

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

Это всегда От 0,93 до 1,20 хотя я интуитивно чувствую, что согласно данным, которые я привел, оно должно было быть намного ниже.

Почему WordPress не проблема

  1. Тема сайта Астра, без подтемы. Та же проблема произошла и с другими темами.

  2. Я включил минификацию CSS-JS, сжатие ресурсов и кеширование WordPress с помощью плагина. AutoPtimize а также кеширование Nginx (см. ниже).

  3. Я попытался отключить все плагины, но серьезных изменений не увидел; Я снизился с 900 мс до примерно 450 мс, но ошибка все еще оставалась.

  4. Все полностью обновлено с автоматическими обновлениями, поступающими из интерфейса командной строки (неотложные обновления и WP-CLI).

Мой вопрос

Учитывая, что все мои тесты показывают, что это проблема Nginx / PHP, чего мне не хватает в моей конфигурации Nginx / PHP, чтобы иметь гораздо меньшее время загрузки (скажем, до 0,10)? У обоих все по умолчанию, поэтому я не могу сказать, что в этом будет плохого.

Обновить

Активация бесплатного плана Cloudflare с полной (строгой) обработкой SSL не принесла значительных изменений TTFB.

Автоматическая оптимизация является основной проблемой при достижении лучшего TTFB, другие факторы вносят свой вклад, но Autoptimize делает TTFB равным времени генерации страницы по дизайну.

Он использует буферы вывода, чтобы собирать все, что выводится в браузер, перехватывать и сохранять. Затем, когда страница завершила создание, она обрабатывает вывод страницы для объединения CSS и JS и выводит все байты сразу в самом конце.

Я настоятельно рекомендую удалить его. Если вы хотите повысить производительность, используйте кеш объектов в сочетании с чем-то вроде memcached или redis. Это примет форму wp-content/object-cache.php и позволяя WP_CACHE в твоем wp-config.php, в сочетании с установкой и настройкой memcached или аналогичного. Это даст вам существенный повышение производительности сайта практически во всех областях

Если вы не удалите его, ваши возможности будут сильно ограничены. По замыслу TTFB всегда будет равняться времени генерации страницы + сколько бы времени ни занимала автоматическая оптимизация. Вы также теряете все преимущества производительности HTTP / 2.

Таким образом, единственный способ уменьшить TTFB с установленным плагином - это уменьшить время генерации страницы в PHP. Это может быть через кеширование объектов, рефакторинг запросов к БД, обновление PHP, но если время загрузки вашей страницы уже низкое, то мало что нужно сделать.

Я бы порекомендовал изучить и изучить альтернативные методы определения показателя скорости страницы Google в отношении таблиц стилей и скриптов и попытаться улучшить скорость генерации страниц. Эти решения улучшат производительность вашего сайта даже при включенной автоптимизации.