Какой может быть максимальный размер кэша guava? Моя система имеет 8 ГБ оперативной памяти, без ухудшения производительности системы и других приложений, сколько я могу использовать MB? В кэше Guava также используется хранилище harddisk, когда память RAM недоступна?Каким может быть максимальный размер кеша guava?
ответ
Вы можете ограничить количество записей в кеше. В Guava нет способа указать ограничение размера в мегабайтах. EHCache поддерживает ограничение размера в мегабайтах, однако определение размера кэшированной записи является сложной задачей и включает в себя некоторые магии, угадывания и служебные издержки.
В кэше Guava также используется хранилище жесткого диска, когда память RAM недоступна?
Нет, это куча Java. См. CachesExplained · google/guava Wiki.
На практике вы начинаете с разумного, но низкого размера кеша и увеличиваете его, сохраняя при этом потребление памяти кучи.
На самом деле вопрос «Как определить размер кеша?» ответить непросто, обычно есть опыт в сочетании с чувством возбуждения. Для того, чтобы расширить ответ немного и дать вам больше направлений:
Предпосылки
- Убедитесь, что вы понимаете общие понятия кучи и сборке мусора Java
- Know/проверить максимальное значение размера кучи вашей JVM. См.: How is the default java heap size determined?
- Узнайте, как контролировать и интерпретировать потребление кучи и активность GC, например. с VisualVM см: http://visualvm.java.net/monitor_tab.html
- Знать, как получать и интерпретировать статистические данные из кэша, особенно скорость хита
- Знайте свои данные, предполагаемого размера в байтах одного входа и количество размера ваших активных наборов данных
эмпирические правила
- Aim для хитовой размере 90% и более. Если это меньше, увеличьте размер кеша или у вас есть идея, почему кеш не очень эффективен. Возможные причины: Кэш пропускает из-за низкого времени истечения, много последовательных сканирований. Иногда вы можете улучшить свое приложение или поиграть с другими параметрами, а затем размер кеша, чтобы оптимизировать скорость вашего попадания.
- Для первого «лучший выбор» настроить размер кэша (в единицах счета входа), по меньшей мере 10% от вашего активного размера набора данных
У меня нет данных для анализа только в вашем pov Если мое текущее использование баков составляет около 50%, то могу ли я использовать 100 мб данных в кеше? – agrawal1084
Конечно, 100 МБ не должно быть проблемой. Однако дважды проверьте максимальный размер кучи вашего JVM. Я уточню свой ответ. – cruftex
Нет, кэш гуавы строго на куче. Не имеет большого значения, насколько это велика, это просто причудливая хеш-карта. –