Реализовать кэширование само по себе недостаточно. Необходимо также оценить его эффективность. Для этого можно реализовать
мониторинг.
Для мониторинга эффективности кэша можно использовать метрики.
- Процент попадания (hitrate или hit ratio). Метрика говорит о том, сколько запросов в процентном выражении получают ответы из кэша и какой ― из базы данных. Чем большее количество запросов получают данные из кэша, тем лучше.
Процент попадания (hitrate) = Количество попаданий в кэш/(Количество
попаданий в кэш + количество промахов)
2. Сравнение количества элементов в кэше с количеством данных в исходном хранилище. Например, если количество пользователей увеличилось на 10%, а кэш пользователей увеличился в 2 раза ― это может быть показателем того, что используется некорректный ключ кэширования.
3. Размер записи кэша в байтах (средний размер, расчёт перцентилей размера). Метрика позволяет определить ситуации, когда запись содержит больше данных чем нужно.
4. Количество записей, вытесняемых из кэша в секунду (evictions). Большое количество может говорить о том, что размер кэша слишком маленький или о том, что выбран неэффективный ключ кэширования.
5. Задержка получения данных из кэша (latency) ― время, нужное на получение данных из кэша. Задержка получения данных из кэша должна быть меньше задержки получения данных из оригинального источника.
6. Количество ошибок получения данных из кэша в секунду. Метрика позволяет детектировать сбои на системах кэширования.