Некоторые свойства конфигурации в Cassandra вычисляются на основе доступных ядер и дисков ЦП.
concurrent_reads = 16 * (number of drives)
concurrent_writes = 8 * (CPU cores)
Похоже, что вы сделали это, хотя я бы задал вопрос, все ли ваши 32 ЦП являются физическимиЯдра, или гиперпоточность.
У меня есть кластер из 2 узлов, и я получаю удручающую пропускную способность (12000 операций в секунду).
Просто мое мнение, но Я думаю, что 12 тыс. операций в секунду это довольно хорошо.На самом деле ДЕЙСТВИТЕЛЬНО хорошо для кластера из двух узлов.Кассандра масштабируется горизонтально и при этом линейно.Таким образом, решение здесь простое: добавьте больше узлов.
Какова ваша целевая операция в секунду?Прямо сейчас вы доказываете, что можете получить 6 тыс. Операций в секунду на узел.Это означает, что если вы добавите еще один, кластер должен поддерживать 18K / сек.Если вы перейдете на шесть узлов, вы сможете поддерживать 36k / sec.По сути, выясните свою цель и выполните математику.
Одна вещь, которую вы могли бы рассмотреть, это попробовать ScyllaDB .Сцилла является сменной заменой Cassandra, которая заявляет о способности достичь очень высоких требований к пропускной способности.Недостатком является то, что я думаю, что Scylla - это только Cassandra 2.1 или 2.2 совместимый банкомат.Но, возможно, стоит попробовать, основываясь на том, что вы пытаетесь сделать.