Cache monitoring
Полный мониторинг кэширования: OPcache + JIT + APCu + Memcached + Object Cache Pro (Redis)
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/robertobennett/cache-monitoring/archive/refs/heads/main.zipПолный мониторинг кэширования: OPcache + JIT + APCu + Memcached + Object Cache Pro (Redis)
Описание
Плагин "Cache monitoring" предоставляет комплексный инструмент для мониторинга и управления различными типами кэша в вашей среде WordPress. Он позволяет отслеживать состояние и производительность OPcache, JIT, APCu, Memcached, Object Cache Pro (Redis), а также PCRE JIT, предоставляя подробную статистику и возможность очистки кэша прямо из админ-панели WordPress.
Этот плагин идеально подходит для разработчиков, системных администраторов и владельцев сайтов, которые хотят оптимизировать производительность своего WordPress, глубоко понимая, как работают их механизмы кэширования.
Возможности
- OPcache Мониторинг:
- Статус OPcache (активен/неактивен).
- Коэффициент попаданий (Hit Rate).
- Количество кэшированных файлов.
- Использование памяти (занято/свободно).
- Возможность сброса OPcache.
- JIT Статистика (для PHP 8.0+):
- Статус JIT (активен/неактивен).
- Размер буфера JIT.
- Количество скомпилированных функций.
- Использование буфера JIT.
- APCu Мониторинг:
- Коэффициент попаданий (Hit Rate).
- Количество записей в кэше.
- Использование памяти APCu.
- Возможность очистки APCu кэша.
- Memcached Мониторинг:
- Коэффициент попаданий (Hit Rate).
- Количество элементов в кэше.
- Использование памяти Memcached.
- Возможность сброса Memcached кэша.
- Object Cache Pro (Redis) Мониторинг:
- Статус подключения к Redis.
- Коэффициент попаданий (Hit Rate).
- Количество ключей в Redis.
- Использование памяти Redis.
- Определение активности плагина Object Cache Pro.
- Возможность сброса Redis кэша.
- PCRE JIT Статистика:
- Статус PCRE JIT (включен/выключен).
- Версия PCRE.
- Лимиты рекурсии и отката.
- Тесты Производительности:
- Бенчмарки для математических операций (JIT), операций с регулярными выражениями (PCRE), операций APCu, Memcached и Redis для оценки скорости работы кэшей.
- Управление Кэшем:
- Кнопки для индивидуальной очистки OPcache, APCu, Memcached и Redis.
- Кнопка для полной очистки всех поддерживаемых кэшей (OPcache, APCu, Memcached, Redis).
- Системная Информация:
- Версия PHP, время сервера, лимит памяти PHP, версия WordPress.
- Удобный Интерфейс:
- Интуитивно понятный дашборд в админ-панели WordPress.
- Автоматическое обновление статистики (с возможностью включения/выключения).
Установка
- Загрузка: Загрузите файлы плагина в директорию
/wp-content/plugins/cache-monitoring/. - Активация: Активируйте плагин через меню "Плагины" в админ-панели WordPress.
- Доступ: После активации плагин будет доступен в меню "Инструменты" -> "Cache Monitor".
Требования
- WordPress 4.0+
- PHP 7.0+ (для JIT требуется PHP 8.0+)
- Соответствующие расширения PHP для кэшей, которые вы хотите мониторить (например,
opcache,apcu,memcached,redis).
Использование
После установки и активации плагина перейдите в Инструменты -> Cache Monitor в вашей админ-панели WordPress.
На странице мониторинга вы увидите:
- Обзор состояния каждого типа кэша: OPcache, JIT, APCu, Memcached, Object Cache Pro (Redis), PCRE JIT.
- Подробную статистику по каждому кэшу, включая коэффициент попаданий, использование памяти и количество элементов.
- Блок "Performance Benchmark" с результатами тестов производительности для различных операций кэширования.
- Блок "Cache Management" с кнопками для очистки каждого типа кэша по отдельности или всех кэшей сразу.
- Кнопка "Refresh All" для ручного обновления статистики.
- Кнопка "Auto Refresh: OFF/ON" для включения/выключения автоматического обновления статистики каждые 10 секунд.
Очистка Кэша
- Clear OPcache: Сбрасывает весь OPcache, удаляя все скомпилированные PHP-файлы.
- Clear APCu: Очищает пользовательский кэш APCu.
- Flush Memcached: Сбрасывает все данные из Memcached.
- Flush Redis: Сбрасывает все данные из Redis (через Object Cache Pro или прямое подключение).
- Flush ALL Caches: ВНИМАНИЕ! Эта кнопка выполняет полную очистку всех поддерживаемых кэшей (OPcache, APCu, Memcached, Redis). Используйте с осторожностью, так как это может временно повлиять на производительность сайта.
Разработка
Плагин использует AJAX для получения статистики и выполнения операций очистки кэша, что обеспечивает динамическое обновление данных без перезагрузки страницы.
Хуки AJAX
wp_ajax_opcache_reset: Сброс OPcache.wp_ajax_apcu_clear: Очистка APCu.wp_ajax_memcached_flush: Сброс Memcached.wp_ajax_redis_flush: Сброс Redis/Object Cache Pro.wp_ajax_opcache_get_stats: Получение всей статистики кэша.
Все AJAX-запросы защищены с помощью wp_nonce для предотвращения CSRF-атак и требуют прав manage_options.
Функции
get_redis_stats(): Вспомогательная функция для сбора подробной статистики Redis, включая проверку Object Cache Pro, использование памяти, коэффициент попаданий и количество ключей.test_redis_performance(): Функция для измерения производительности операций чтения/записи в Redis.
Стилизация
Плагин включает базовые CSS-стили для улучшения внешнего вида дашборда в админ-панели, используя стандартные классы WordPress и некоторые пользовательские стили для отображения статусов и графиков.
Часто задаваемые вопросы
В: Почему некоторые разделы кэша показывают "Not available"? О: Это означает, что соответствующее расширение PHP для данного типа кэша не установлено или не включено на вашем сервере, либо сам сервис кэширования (например, Memcached или Redis) не запущен или недоступен. Убедитесь, что все необходимые расширения PHP установлены и настроены правильно.
В: Безопасно ли использовать кнопку "Flush ALL Caches"? О: Эта кнопка предназначена для быстрой очистки всех поддерживаемых кэшей. Она безопасна в плане функциональности, но её использование может временно снизить производительность вашего сайта, так как весь кэш будет сброшен, и данные придется генерировать заново. Используйте её, когда это действительно необходимо, например, после крупных обновлений или изменений конфигурации.
В: Могу ли я использовать этот плагин на продакшн-сайте? О: Да, плагин разработан с учетом безопасности и производительности. Однако, как и с любым инструментом для управления кэшем, рекомендуется быть осторожным при очистке кэша на продакшн-сайте, особенно во время пиковых нагрузок.
Лицензия
Этот плагин распространяется под лицензией GPL-2.0. Подробности смотрите в файле LICENSE.
Автор
Robert Bennett GitHub Профиль