Это дополнительный вопрос к этому: Почему моя пропускная способность cassandra не улучшается, когда я добавляю узлы?
Моя схема в настоящее время выглядит так (все большие двоичные объекты примерно одинакового размера, около 140 байт):
create keyspace nms WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 };
use nms;
CREATE TABLE qos(
hour timestamp,
qos int,
id int,
ts timestamp,
tz int,
data blob,
PRIMARY KEY ((hour, qos), id, ts));
В обоих сценариях у меня есть один узел. Помимо очевидного IP-адреса и мест хранения, конфигурация Apache C* 2.1.5 уже готова к использованию.
Когда я запускаю клиент и отдельный узел на разных хостах, я получаю примерно 55 000 вставок в секунду. Вывод cfhistograms выглядит примерно так:
nms/qos histograms
Percentile SSTables Write Latency Read Latency Partition Size Cell Count
(micros) (micros) (bytes)
50% 0.00 86.00 0.00 42510 535
75% 0.00 124.00 0.00 42510 642
95% 0.00 179.00 0.00 61214 1109
98% 0.00 215.00 0.00 61214 1109
99% 0.00 258.00 0.00 61214 1109
Min 0.00 4.00 0.00 150 3
Max 0.00 61214.00 0.00 61214 1109
Когда я запускаю клиент на том же хосте, что и единственный узел, я получаю примерно 90 000 вставок в секунду. Снимок гистограммы выглядит так (почти так же, как показано выше):
nms/qos histograms
Percentile SSTables Write Latency Read Latency Partition Size Cell Count
(micros) (micros) (bytes)
50% 0.00 86.00 0.00 42510 535
75% 0.00 103.00 0.00 42510 642
95% 0.00 179.00 0.00 61214 1109
98% 0.00 310.00 0.00 61214 1109
99% 0.00 535.00 0.00 61214 1109
Min 0.00 3.00 0.00 150 3
Max 0.00 126934.00 0.00 61214 1109
Почему такая большая разница в скорости вставки? Я бы подумал, что ставки будут эквивалентны или лучше в сплит-настройке?
Кстати, я вижу это странное поведение со всеми вариантами аппаратного обеспечения, которое у меня есть, так что это нечто большее, чем мощность клиента.