издержки разделения и сериализации в Hazelcast - PullRequest
0 голосов
/ 06 июня 2018

У меня есть карта IMap, где класс Abc является вложенным классом, который реализует сериализацию.Даже без синхронизации и асинхронного резервного копирования я получаю исключение нехватки памяти.Когда я уменьшаю количество разделов до 3 с 271 по умолчанию, это, кажется, работает, и все записи загружаются успешно.Каковы издержки разделения и сериализации во время MapLoading.

1 Ответ

0 голосов
/ 06 июня 2018

Не уменьшайте количество разделов до 3, вы замедляете систему, уменьшая параллелизм.На каждом элементе кластера имеется несколько потоков разделов, и каждому потоку разделов принадлежит определенное количество разделов.Сокращение этого до такого низкого количества резко бы повлияло на производительность.Более того, вы не можете иметь более 3 членов в кластере (я думаю, что это может быть на самом деле 2) с 3 разделами ширины кластера.

Вы смогли избежать OOME, потому что было меньше объектов раздела, но это не будет последнимдолго.Вам необходимо соответствующим образом настроить размер кучи JVM для требуемого использования кэша.

Из-за издержек сериализации Java-сериализация является худшей с точки зрения размера полезной нагрузки и задержки.Используйте сериализацию Hazelcast, вот ссылка: http://docs.hazelcast.org/docs/3.10.2/manual/html-single/index.html#serialization

...