Пропускная способность Cassandra уменьшается при переходе от «одного узла данных» к «двухузловому узлу» кластера Cassandra - PullRequest
0 голосов
/ 11 мая 2018

У меня есть один узел данных cassandra версии 3.11.2 и драйвер cassandra c ++ версии 2.7.Кластер с одним узлом данных, имеющий 500 000 строк.Я читал асинхронно, а затем и помещал данные в очередь, где планировщик занимался асинхронной записью данных, используя драйвер cassandra c ++.У меня есть 10 нитей приложений, 10 нитей и 10 ниточек.Я получил TPS 38000.

Но те же действия, которые я выполнял с кластером кассандры "TWO DATA NODE", находятся на одной стойке и пытаются читать и писать с уровнем согласованности "TWO".Мой TPS снизился до 12000. Почему моя производительность настолько сильно падает, даже если все конфигурации и двоичные файлы клиента одинаковы?Просто измените READ CONSISTENCY на TWO и ЗАПИШИТЕ CONSITENCY на TWO.

Что мне нужно сделать, чтобы получить TPS около 40000. Нужно ли мне добавить больше DATA NODE?

1 Ответ

0 голосов
/ 11 мая 2018

Уровень согласованности TWO означает, что при чтении необходимо получать данные с двух узлов, и это добавляет задержку.То же самое для записи - когда вы пишете с TWO, 2 узла должны подтвердить, что данные записаны, что также добавляет задержку ...

Я бы порекомендовал прочитать следующий раздел в DSEРуководство по архитектуре (лучше полное руководство в целом), чтобы получить представление об уровнях согласованности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...