Cassandra Datastax Оптимальное Объединение Опций

Я работаю над приложением Spring/ Java с использованием Cassandra в качестве бэкэнда; приложение будет использоваться потенциально сотнями клиентов одновременно.

Я вижу, что настройки пула соединений Cluster PoolingOptions по умолчанию (с протоколом v3):

LOCAL hosts: core = max = 1
REMOTE hosts: core = max = 1

И настройка по умолчанию maxRequestsPerConnection (с протоколом v3):

1024 for LOCAL hosts, and 256 for REMOTE hosts. 

Будут ли эти настройки по умолчанию достаточны для удовлетворения наших требований к использованию?

Если нет, с каких пулов можно начать?

1 ответ

Решение

Я бы порекомендовал использовать по умолчанию PoolingOptions, Это не должно быть действительно затронуто, если у вас нет веской причины.

Обратите внимание, что конфигурация для каждого хоста, а не для всего кластера.

Кроме того, по умолчанию Cassandra обрабатывает только 128 собственных транспортных запросов одновременно ( native_transport_max_threads), поэтому настройка PoolingOptions для обработки более 1024 запросов на соединение имеет низкую полезность.

Наконец, во время сравнительного анализа и сценариев с высокой пропускной способностью с небольшим числом узлов увеличение количества соединений на хост до примерно 8 может показать некоторое улучшение пропускной способности, но по мере добавления большего количества хостов C* это улучшение будет незначительным.

Другие вопросы по тегам