Устранение проблем автозагрузки

Если на вашем сайте WordPress наблюдается медленная работа, это может быть связано с запросом к БД или автоматически загружаемыми данными, оставшимися от старых плагинов WordPress. Ниже я покажу вам, как проверить размер автозагрузки в вашей базе данных, мы погрузимся в данные действующего сайта и поделюсь тем, что я сделал, чтобы очистить таблицу.

Проверка размера данных автозагрузки

Первое, что нужно сделать, это проверить текущий размер автозагрузки на вашем сайте WordPress. Для этого войдите в phpMyAdmin. Выберите свою базу данных с левой стороны, перейдите на вкладку SQL. Затем введите следующую команду и нажмите Go:

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload='yes';

Возможно, вам придется подкорректировать приведенный выше запрос, если ваш сайт WordPress использует другой префикс, отличный от wp_.

Устранение проблем автозагрузки

Размер autoload_size возвращается в байтах. В одном КБ содержится 1024 байта, а в одном МБ — 1024 КБ. Таким образом, в нашем случае 249 025 байт равны 0,25 МБ. Так что для данного сайта это хороший размер! Если вы получили результат меньше 1 МБ, вам не стоит беспокоиться. Однако если результат оказался намного больше, продолжайте изучение данной статьи.

Устранение проблем автозагрузки

Ниже представлен тестируемый сайт на котором было возвращено 137 724 715 байт, т.е. около 137 МБ. Это хороший пример сайта, где что-то определенно не так, и, конечно, есть что оптимизировать.

Устранение проблем автозагрузки
Большой объем автозагружаемых данных в таблице wp_options

Можно также использовать более длинный запрос, например, приведенный ниже. Он покажет размер автозагружаемых данных, количество записей в таблице и первые 10 записей по размеру.

SELECT 'autoloaded data in KiB' as name, ROUND(SUM(LENGTH(option_value))/ 1024) as value FROM wp_options WHERE autoload='yes'
UNION
SELECT 'autoloaded data count', count(*) FROM wp_options WHERE autoload='yes'
UNION
(SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC LIMIT 10)

Пример того, что можем получить в случае этого запроса к Базе Данных:

Устранение проблем автозагрузки
Расширенный запрос MySQL с автозагрузкой данных

Если у вас есть доступ к New Relic (требуется лицензия), вы также можете использовать его для устранения неполадок в запросах, связанных с таблицей wp_options. Вкладка «Базы данных» укажет таблицу и тип запроса, потребляющего больше всего времени. Если выбрать одну из записей в списке, можно увидеть более подробную информацию, включая примеры запросов.

В примере ниже видно, что данные указывают на автозагрузку данных в таблице wp_options. Конечно, быстрый анализ рассматриваемого сайта подтвердил наличие почти 250 МБ автозагружаемых данных.

Устранение проблем автозагрузки

Была ли эта страница полезной?