2017-02-09 25 views
1

Я работаю над Spring/java webapp, используя cassandra в качестве backend; приложение будет использоваться потенциальными сотнями клиентов одновременно.Cassandra Datastax Optimal PoolingOptions

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

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

и установка по умолчанию maxRequestsPerConnection (с протоколом v3) является:

1024 for LOCAL hosts, and 256 for REMOTE hosts. 

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

Если нет, с каким пулом я могу начать?

ответ

2

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

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

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

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

+0

Спасибо за ответ Энди. Как и было предложено, мы будем использовать настройки по умолчанию и при необходимости сделаем настройку позже. Также наткнулся на этот документ из datastax, может быть полезно кому-то http://docs.datastax.com/en/developer/java-driver/2.1/manual/pooling/. – ktewari

 Смежные вопросы

  • Нет связанных вопросов^_^