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* это улучшение будет незначительным.