Apache Cassandra - Как усилить ввод-вывод

Я немного поработал с Кассандрой и следовал советам по тестированию, которые можно найти по следующей ссылке:

http://www.datastax.com/dev/blog/how-not-to-benchmark-cassandra

У меня есть 4 узла, на которых запущена Cassandra, и 2 разных узла, питающих кластер с помощью собственного инструмента тестирования производительности cassandra-stress. Я понимаю, что из-за LSM-природы Cassandra пишет, что они вряд ли когда-либо будут привязаны к вводу-выводу, однако при чтении я ожидал, что смогу усилить кластер таким образом, чтобы он был привязан к вводу-выводу. Пока мне не удалось даже приблизиться к тому, чтобы сделать ввод-вывод узким местом.

Я увеличил количество одновременных операций записи / чтения; Я увеличил stream_throughput_outbound_megabits_per_sec, чтобы он не дросселировал; Я увеличил количество клиентов cassandra-stress в 3 раза (это только увеличило нагрузку на ЦП).

Моя установка на каждом узле Cassandra - это отдельный жесткий диск для журналов фиксации, и у меня есть 10-дисковый DAS, настроенный для хранения данных. Я наблюдал за вводом-выводом с помощью утилиты Linux iostat, и мне никогда не удавалось добиться, чтобы использование дисков было хоть сколько-нибудь близко к 100%. Далее я уменьшил допустимую память, доступную Кассандре, думая, что это заставит ее очищаться чаще. Вот как я запускаю стресс-тест записи:

cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_1 & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_2 & cassandra-stress -d 192.168 .2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_3 &

А вот как я запускаю стресс-тест чтения:

cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_1 -o read & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_2 -o читать и cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_3 -o читать и

Я делаю это с 2 внешних узлов, которые питают 4-узловой кластер Cassandra.

Есть какие-нибудь мысли или идеи о том, как я могу эффективно усилить ввод-вывод и связать его с вводом-выводом? Или, возможно, что я здесь делаю не так?

Спасибо за ваше время и терпение.

-Матт


person Matthew H    schedule 15.09.2014    source источник


Ответы (1)


Отдельный диск с протоколом фиксации и 10 дисков с данными .. Вы делаете это правильно.

Вы можете попробовать смешанные рабочие нагрузки чтения и записи с большими значениями, чтобы попытаться увеличить общий ввод-вывод, но вы снова можете обнаружить, что это отлично работает с вашим выбором оборудования.

person mshuler    schedule 16.09.2014