Наши клиенты имеют сотни проектов на сервер приложений.
Каждый проект имеет свой собственный дескриптор метаданных (~ 1 МБ в памяти, ~ 1 с для загрузки из БД).
Метаданные используются для проверки каждого запроса к серверу в различных аспектах (разрешения, допустимые поля, значения полей и т. Д.). Мы сильно зависимы от этих метаданных.
Чтобы сэкономить время на запросы к БД, мы решили реализовать механизм кэширования (используя EHCache) для хранения метаданных проекта. И мы хотели бы настроить кэш должным образом.
Мне было интересно, каковы методы настройки свойств кэша (общий размер, количество объектов, стратегии эвакуации ...)
Например, следует ли освобождать объекты, к которым не обращались в течение определенного периода времени, для экономии памяти? Как выбрать стратегию выселения (например, LRU, MRU)?
У нас есть опытная команда нагрузочного тестирования и множество данных от клиентов (количество проектов, средний размер метаданных и т. Д.), Поэтому создание среды нагрузочного тестирования не должно быть проблемой. Я просто не уверен, что именно я должен искать?
Пожалуйста, поделитесь своим опытом настройки кэша.
Спасибо