Наилучшая производительность может быть достигнута:
- с использованием асинхронных операций;
- подготовленных запросов;
- с использованием уровня согласованности
ONE
(по умолчанию не рекомендуется)t change); - использовать политику балансировки нагрузки DCAware / TokenAware (по умолчанию, не изменять);
- увеличить количество запросов на соединение со значения по умолчанию 1024 и вышечисло, например, 32k;
Но с асинхронными запросами большая проблема заключается в том, что вы можете выдвигать больше запросов, которые может обработать Cassandra, и это может привести к BusyPoolException
- для предотвращения этого вам понадобятся некоторыевид счетного семафора, который не позволяет выдавать много запросов.Вот пример такой реализации .