EhCache BigMemory и Diskstore на RAM-диске - PullRequest
5 голосов
/ 10 марта 2011

Как производительность BigMemory Enterprise Ehcache по сравнению с Diskstore Ehcache Community Edition, используемой с RAM-диском?

Большая память позволяет кэшам использовать дополнительный тип хранилища памяти внетам куча объектов за счет уменьшения накладных расходов GC, если бы мы использовали всю оперативную память в куче объектов.Сериализация и десериализация имеют место при помещении и извлечении из этого хранилища вне кучи.

Аналогично, Diskstore также является кэшем второго уровня, в котором хранится сериализованный объект на диске.

По ссылке выше онупомянул, что хранилище вне кучи на два порядка быстрее, чем Diskstore.Что произойдет, если я настрою Diskstore для хранения данных на RAM Disk ?Будет ли у BigMemory заметный выигрыш в производительности?

Существуют ли другие оптимизации, выполненные BigMemory?Кто-нибудь сталкивался с такими экспериментами, в которых сравниваются два подхода?

1 Ответ

6 голосов
/ 14 марта 2011

Ниже приводится выдержка из ответа на этот вопрос на терракотовом форуме .

"Три большие проблемы, с которыми я бы столкнулся при работе с открытым исходным кодом (версия для сообщества): дисковые хранилища Ehcache: во-первых, в открытом исходном коде на диске хранятся только значения - ключи и метаданные для сопоставления ключей со значениями. все еще хранится в куче (что не так для BigMemory). Это означает, что куча все еще будет ограничивающим фактором для размера кеша. Во-вторых, хранилище дисков с открытым исходным кодом спроектировано для поддержки одного (обычно вращающегося диска - хотя некоторые люди используйте диски SSD сейчас), это означает, что бэкэнд менее параллелен (особенно в отношении записи), чем Enterprise BigMemory, поскольку узкое место ожидается на аппаратном уровне. В-третьих, сериализация, выполняемая дисковым хранилищем с открытым исходным кодом, занимает меньше места поэтому сериализованные значения имеют гораздо большие издержки. "

...