Имеется cron php скрипт, который выполняет некоторые операции с БД. В этом скрипте я использую такие wp функции, как wp_insert_term(), wp_insert_post(),wp_cache_flush() и т.д. $wpdb так же используется.
Проблема в том, что на готовом сайте, с кучей установленных плагинов, данный скрипт потребляет намного больше памяти при одном только подключении WordPress.
Вот пример простого подключения:
$MEMORY = memory_get_usage();
require_once dirname(__FILE__) . '/../wp-load.php';
echo "Memory: " . (memory_get_usage() - $MEMORY ). PHP_EOL;
Результаты:
Есть вот такой вот вариант: define('SHORTINIT', true);, но он, как я понял, отключает все wp-функции, что не подходит.
Соответственно вопрос: я правильно понял, что активированные плагины, пожирают память и если да, то как подключить только необходимые мне wp-функции?
Имеется cron php скрипт, который выполняет некоторые операции с БД.
Сразу 2 ошибки - крон на php и запросы в БД.
Во первых если нужен крон, то лучше использовать серверный. А если всё же нужен php, то в ВП есть свой php-крон.
В базу лазить нельзя. Тем боле по крону, тем более по стороннему, тем более по стороннему на php.
При работе с ВП нужно использовать АПИ. В частности для работы с кроном из ВП - wp-сron, а для работы сторонних приложений с ВП - REST API
Соответственно вопрос: я правильно понял, что активированные плагины, пожирают память и если да, то как подключить только необходимые мне wp-функции?
Нет. Пожирают не "плагины" как таковые, а код. Можно использовать 100500 плагинов без ущерба сайту, а можно в тему прописать 10 строк и положить его при десятке внешних запросов.
В общем, рекомендую посмотреть доклады разработчиков ВП. В них есть и о причинах и о методах/способах локализации проблем.
https://wordpress.tv/2015/08/20/konstantin-kovshenin-wordpress-performance-killers/
https://wordpress.tv/2014/09/02/konstantin-kovshenin-scaling-wordpress/
https://wordpress.tv/2014/08/25/gennady-kovshenin-profiling-wordpress/
https://wordpress.tv/2013/08/19/konstantin-kovshenin-wordpress-site-speed/
Голый сайт: 34 072 112 байт
Если это показатели на внешней странице, то это ещё и хостинг плохой/не настроен.
Вот на не самом лучшем хостинге реальный сайт без плагинов кеширования и каких-либо серьёзных мер для оптимизации:
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости