Использование инструмента Cassandra cassandra-stress

Я хочу протестировать свои кластеры Cassandra с 1, 2, 3 и 4 экземплярами. Итак, я запустил инструмент cassandra-stress на одном из узлов. Тест показывает странные результаты, см. График ниже (-> кластер с одним узлом имеет больше операций / сек, чем кластер с 2/3/4 узлами при небольшом количестве потоков).

Мои результаты (ось x = потоки, ось y = ops / sek, набор данных = узлы в кластере (1, 2, 3, 4):
 введите описание изображения здесь

По сравнению с результаты с этого тестового сайта, мои результаты не кажутся чтобы быть правильным.

У меня вопрос: правильно ли я использую инструмент, если я запускаю следующую команду на одном компьютере кластера:

cassandra-stress write

Я тоже пробовал это без какого-либо эффекта:

cassandra-stress write -node ip1,ip2,...

См. Также мой другой вопрос здесь. Спасибо!

- РЕДАКТИРОВАТЬ: решение Джима -
Запустите cassandra-tool из других экземпляров EC2 за пределами C * -кластера, но в той же локальной сети (чтобы вы могли работать с внутренними IP-адресами 10). .xxx). Я запустил кластер 1/2/4 узла с 4 отдельными узлами, вызывающими тест. Каждый из них получил одну из следующих команд:

Первое письмо:

cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000  -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4

Затем считайте эти данные с помощью команды чтения:

cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000  -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4

Вот результаты чтения

1 Node cluster: 149,000 ops/sec
2 Node cluster: 348,000 ops/sec
4 Node cluster: 480,000 ops/sec



Спасибо, Джим!


person D. Müller    schedule 10.07.2015    source источник
comment
Являются ли эти окончательные цифры совокупностью результатов всех стресс-тестов? И спасибо, что сейчас занимаюсь именно такой проблемой.   -  person Totoro    schedule 30.06.2017


Ответы (1)


Если вы используете cassandra-stress только на одном узле, я думаю, это будет ожидаемый результат. Одна машина не может заполнить кластер из четырех узлов и будет узким местом.

Также, если вы запускаете cassandra-stress на одном из узлов cassandra, то этот узел будет дважды загружен при запуске как Cassandra, так и клиента стресса. Это создаст дополнительную нагрузку на ЦП и сетевое соединение для этой машины.

Чтобы получить истинное представление о пропускной способности вашего кластера, вы должны запустить нагрузку на нескольких машинах за пределами кластера (но в одной локальной сети).

person Jim Meyer    schedule 10.07.2015
comment
Спасибо, Джим, это было решение: я запустил 1/2/4-узел Cassandra Cluster и запустил инструмент cassandra-stress в 4 других EC2-экземплярах (в той же локальной сети). Теперь количество операций чтения в секунду кажется реальным: 149000 (1 узел в C * -кластере), 348000 (2 узла в C * -кластере) и 480000 (4 узла в C * -кластере). - person D. Müller; 14.07.2015