Страница WordPress Case Study загружается более 60 секунд, а запросы к базе данных выполняются быстро.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Страница WordPress Case Study загружается более 60 секунд, а запросы к базе данных выполняются быстро.

Сообщение Anonymous »

Я столкнулся с серьёзной проблемой производительности на сайте WordPress, где отображается страница со списком тематического исследования (/case-study/) загружается 60+ секунд, в то время как отдельные страницы с описанием тематического исследования загружаются нормально (~500 мс).
Я исследовал это с помощью Query Monitor, и результаты сбивают с толку, поскольку производительность базы данных выглядит удовлетворительной.
Среда
  • WordPress (последняя версия)
  • Пользовательская тема + дочерняя тема
  • Активно задействованный плагин: enovathemes-addons
  • Макет на основе компоновщика страниц
  • PHP с включенным OPcache
  • Установлен APCu и установлен Плагин APCu Object Cache включен
Наблюдаемое поведение
  • /case-study/ (страница со списком): время создания страницы ~63 секунды.
  • /case-study/single-post/: ~512 мс
  • Запросы внешней сети загружаются нормально, как только страница отвечает
Результаты монитора запросов
  • Время генерации страницы: 63,13 с
  • Запросы к базе данных: 223 запроса
  • Общее время работы с БД: ~0,8 с
  • Пиковое использование памяти: ~32 МБ
  • Вызовы HTTP API: Нет
  • Показатель попадания в кэш объектов: ~93%
  • Постоянный кэш объектов: Включен (APCu)
Несмотря на включение APCu, заметной производительности нет. улучшение.

Ошибки/предупреждения
Монитор запросов показывает повторяющиеся предупреждения PHP во время загрузки страницы:
Warning: Attempt to read property "guid" on null
wp-content/plugins/enovathemes-addons/shortcodes/shortcodes.php

Это предупреждение появляется несколько раз при отображении страницы со списком тематического исследования.Соответствующий фрагмент кода (функция короткого кода)
Плагин использует короткие коды для отображения таких элементов, как логотипы. Один пример:
$logo = get_post($logo);
$logo_src = $logo->guid;

get_post() иногда возвращает значение null, но код обращается к $logo->guid без проверки.

Существуют также такие вызовы, как:
file_get_contents($logo->guid);


Подробнее здесь: https://stackoverflow.com/questions/798 ... ries-are-f
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»