- Статус
- Решено
- Решено в
- WPML Translation Management 2.1.5
Обзор проблемы
Открытие списка записей или страниц создает множество запросов к базе данных — порядка ~1 000 запросов при каждой загрузке страницы. Из-за этого список записей загружается медленно, что значительно ухудшает работу пользователей при использовании медленных конфигураций баз данных.
Модулю «Управление переводами» в некоторых случаях необходимо учитывать ряд факторов при определении статуса перевода записи. Поскольку эта информация извлекается из нескольких источников, в текущую версию WPML TM был добавлен ряд улучшений стабильности, которые значительно повышают удобство работы с сервисами Translation Proxy в плане устойчивости к неблагоприятным событиям (например, повреждению жесткого диска), требующим восстановления сайта из резервной копии.
К сожалению, из-за недосмотра была отключена часть внутренних механизмов кеширования модуля «Управление переводами», предназначенных для сокращения количества запросов к базе данных, необходимых для вывода списков записей для переведенных типов записей. Это влияет только на производительность, но не на функциональность, однако может вызвать проблемы при использовании медленных конфигураций баз данных.
Обходное решение
Количество запросов к базе данных возрастает почти линейно в зависимости от количества записей, отображаемых на одной странице. Уменьшение количества записей на странице с помощью настройки «Количество элементов на странице:», доступной в каждом списке записей WordPress, автоматически пропорционально сокращает количество запросов к базе данных.
Установка значения ниже стандартного, например 15 или 10, значительно улучшит производительность в затронутых конфигурациях.
Следующий релиз WPML будет включать исправление этой проблемы и сократит время загрузки затронутых экранов до уровня, который был в WPML 3.3.