2015-07-15 5 views
1

Как создать тест, который скажет мне, какие узлы Cassandra записываются, поэтому я хотел бы указать количество узлов и коэффициент репликации и получить обратно, на какие узлы повлияет каждая запись, как результат попытки вставить. это скажет мне, насколько равномерно будут распространяться данные во время выполнения. У меня есть тестовые данные, поэтому мне действительно нужен способ вызвать макет Cassandra, который настроил способ, которым я буду работать в процессе производства, который вернет мне, на какой узел влияет. Я не вижу способа сделать это с помощью инструмента для стресса Кассандры, если я полностью не пропущу его ...cassandra стресс-тестирование распределение записей

ответ

1

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

Вот несколько подходов можно принять:

  1. Использование Cassandra-стресс и трассировку с nodetool settraceprobability на каждом из узлов C * и установить его на более низкое значение, как .01. Это позволит запросить 1% запросов, для которых вы можете наблюдать результаты трассировки в системе через таблицы system_traces.events и session (see this article для получения дополнительной информации об использовании этих таблиц). Трассировка будет включать информацию о том, какой узел использовался в качестве координатора, какие другие узлы использовались в качестве реплик для чтения/записи и сколько времени потребовалось для обработки отдельных шагов. Обратите внимание, что то, как ваше приложение будет обрабатывать данные запроса, может немного отличаться от того, кассандра-стресс, поскольку на запросы узлов влияет ваша конфигурация Cluster. cassandra-stress использует JavaDriverClient#connect. Вы захотите сравнить свою конфигурацию с тем, что делает JavaDriverClient, и понять различия. Вы также можете изменить JavaDriverClient в соответствии с вашим приложением.
  2. Вы также можете написать тест против своего приложения, которое использует cassandra. Java-драйвер имеет API для включения отслеживания и наблюдения за данными, которые я документировал в a video here. Кроме того, когда вы возвращаете ResultSet, существует метод getExecutionInfo(), который предоставляет информацию, такую ​​как which hosts were tried, но это включает только узлы, которые использовались в качестве координатора, а не все реплики.
+0

проблема, с которой я столкнулась со стрессом, я не понимаю, как ее подавать на свой собственный набор данных. спасибо за сообщение видео кстати, это очень полезно. Я думаю, что трассировка пройдет долгий путь, поняв это. Еще раз спасибо! – Alex

+0

Спасибо! Новый инструмент для стресса, представленный в 2.1, обладает множеством возможностей для стресса против пользовательских схем, я думаю, что некоторые из форматирования немного изменились с момента этого сообщения в блоге, но это было бы хорошей отправной точкой, если бы вы его не видели: http://www.datastax.com/dev/blog/improved-cassandra-2-1-stress-tool-benchmark-any-schema –

+0

проверить это сообщение http://www.sestevez.com/data-modeler/ – phact

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