2015-12-27 7 views
1

Какой может быть максимальный размер кэша guava? Моя система имеет 8 ГБ оперативной памяти, без ухудшения производительности системы и других приложений, сколько я могу использовать MB? В кэше Guava также используется хранилище harddisk, когда память RAM недоступна?Каким может быть максимальный размер кеша guava?

+0

Нет, кэш гуавы строго на куче. Не имеет большого значения, насколько это велика, это просто причудливая хеш-карта. –

ответ

4

Вы можете ограничить количество записей в кеше. В 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% от вашего активного размера набора данных
+0

У меня нет данных для анализа только в вашем pov Если мое текущее использование баков составляет около 50%, то могу ли я использовать 100 мб данных в кеше? – agrawal1084

+0

Конечно, 100 МБ не должно быть проблемой. Однако дважды проверьте максимальный размер кучи вашего JVM. Я уточню свой ответ. – cruftex