Диагностика производительности 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). Планы виртуального хостинга часто имеют жесткие ограничения на использование процессора; уточните у своего хостинг-провайдера, не применяются ли к Вам ограничения.
- Медленные запросы к базе данных. Большим сайтам с множеством переводов будет полезен сервер базы данных на SSD, достаточный
-
Объектный кеш
WordPress без объектного кеша загружает многие настройки WPML из базы данных при каждом запросе. Добавьте Redis или Memcached в качестве объектного кеша (большинство провайдеров управляемого хостинга WordPress предлагают это; если нет, плагины Redis Object Cache или WP Redis позволяют его включить).
Улучшение обычно бывает значительным. Настройки, которые ранее требовали обращения к базе данных, теперь обслуживаются из памяти.
-
Полностраничный кеш
Полностраничный кеш (WP Rocket, W3 Total Cache, граничный кеш хостинг-провайдера) — это самое большое преимущество для скорости фронтенда.
Если он у Вас уже есть, но страницы все равно кажутся медленными, проверьте, правильно ли Ваш кеш обрабатывает URL-адреса для каждого языка. Структура URL-адресов WPML (будь то язык в виде каталога, язык в виде поддомена или язык в виде домена) требует, чтобы кеш различался в зависимости от URL-адреса. Большинство кешей делают это автоматически, но стоит убедиться, что французская версия не обслуживается из английского кеша, и наоборот.
-
Конфликтующие или медленные плагины
Сайты накапливают плагины; некоторые из них хорошо написаны, а некоторые — нет. Чтобы найти медленный плагин:
- Установите Query Monitor (плагин для отладки).
- Перезагрузите медленную страницу.
- Посмотрите раздел Queries by Component. Плагин с самыми ресурсоемкими запросами является подозреваемым.
Если причиной является плагин, замените его или отключите в нем функцию, вызывающую замедление.
-
Медленные сервисы перевода, а не сайт
Если кажется, что задания на перевод выполняются медленно, но сам сайт работает нормально, узкое место находится между Вашим сайтом и инфраструктурой перевода WPML.
Проверьте WPML > Поддержка > Журнал связи. В журнале отображается задержка каждого вызова API. Если отдельные вызовы занимают много секунд, проблема заключается в подключении (сетевой маршрут, DNS или ограничение исходящего трафика Вашим хостинг-провайдером), а не в сайте. Если же виновником является собственный кеш WPML, инструменты безопасного уровня для поиска и устранения неисправностей включают опцию Очистить кеш в WPML. Если для расследования проблем с производительностью требуется внимание службы поддержки, упакуйте найденную информацию с помощью функции предоставления отладочной информации службе поддержки.