Диагностика производительности WPML — медленная админ-панель, тайм-ауты Панели управления переводами, задержки на фронтенде
Проблемы с производительностью WPML (медленные страницы админ-панели, зависания фронтенда, тайм-ауты Панели управления переводами) почти всегда сводятся к нескольким распространенным факторам. На этой странице они рассматриваются в том порядке, в котором их следует проверять, прежде чем предполагать, что проблема кроется в самом WPML.
-
Определите, где наблюдается замедление
- Медленный фронтенд, нормальная админ-панель: вероятно, проблема в конфигурации полностраничного кеширования или в плагине, сильно нагружающем фронтенд.
- Медленная админ-панель, нормальный фронтенд: вероятно, раздута автозагрузка
wp_options, используется тяжелый плагин только для админ-панели или серверу не хватает мощности. - Медленно работает именно Панель управления переводами: вероятно, в запросе панели управления участвует большое количество записей, и не хватает памяти PHP или времени выполнения.
- Медленно выполняются операции перевода: вероятно, проблема с подключением к сервисам перевода; проверьте Журнал связи в разделе WPMLПоддержка.
См. Журналы, чтобы узнать, какой журнал соответствует конкретному симптому.
-
Проверьте ресурсы сервера
Откройте WPMLПоддержка. Панель предупреждений в верхней части экрана сообщает, если объем памяти PHP ниже рекомендуемых WPML 256 МБ. Сайтам с большими каталогами требуется 512 МБ или больше.
Другие симптомы, связанные с ресурсами сервера:
- Медленные запросы к базе данных. Крупным сайтам с большим количеством переводов полезно использовать сервер баз данных на SSD-накопителях, достаточный объем
innodb_buffer_pool_sizeи индексы в таблицеwp_icl_translations(они добавляются плагином WPML; ручное вмешательство требуется редко). - Время выполнения PHP. Если значение
max_execution_timeменьше 60 секунд и Панель управления выдает тайм-аут, увеличьте его. - CPU. Планы виртуального хостинга часто имеют жесткие ограничения по CPU; уточните у своего хостинг-провайдера, не применяются ли к Вам ограничения.
- Медленные запросы к базе данных. Крупным сайтам с большим количеством переводов полезно использовать сервер баз данных на SSD-накопителях, достаточный объем
-
Объектный кеш
Без объектного кеша WordPress загружает многие настройки WPML из базы данных при каждом запросе. Добавьте Redis или Memcached в качестве объектного кеша (большинство провайдеров управляемого хостинга WordPress предлагают эту функцию; если нет, ее можно включить с помощью плагинов Redis Object Cache или WP Redis).
Улучшение обычно весьма значительно. Настройки, которые ранее требовали обращений к базе данных, теперь обслуживаются из памяти.
-
Полностраничный кеш
Полностраничный кеш (WP Rocket, W3 Total Cache, граничный кеш хостинг-провайдера) — это самое эффективное средство для повышения скорости фронтенда.
Если он у Вас уже есть, но страницы все равно загружаются медленно, проверьте, правильно ли Ваш кеш обрабатывает URL-адреса для разных языков. Структура URL-адресов WPML (язык как каталог, язык как поддомен или язык как домен) требует, чтобы кеш различался в зависимости от URL-адреса. Большинство систем кеширования делают это автоматически, но стоит убедиться, что французская версия не отдается из английского кеша и наоборот.
-
Конфликтующие или медленные плагины
На сайтах накапливаются плагины; некоторые из них написаны хорошо, а некоторые — нет. Чтобы найти медленный плагин:
- Установите Query Monitor (плагин для отладки).
- Перезагрузите медленную страницу.
- Посмотрите отчет Запросы по компонентам. Плагин с самыми ресурсоемкими запросами и является главным подозреваемым.
Если причина в плагине, замените его или отключите в нем функцию, которая вызывает замедление.
-
Медленно работают сервисы перевода, а не сайт
Если задания на перевод выполняются медленно, но сам сайт работает нормально, узкое место находится между Вашим сайтом и инфраструктурой перевода WPML.
Проверьте WPMLПоддержкаЖурнал связи. В журнале отображается задержка каждого вызова API. Если отдельные вызовы занимают много секунд, проблема заключается в подключении (сетевой маршрут, DNS или ограничение исходящего трафика Вашим хостинг-провайдером), а не в сайте. Если же виноват собственный кеш WPML, инструменты безопасного устранения неисправностей включают опцию Очистить кеш в WPML. Если для расследования проблем с производительностью требуется помощь службы поддержки, соберите найденную информацию с помощью инструкции Предоставление отладочной информации службе поддержки.