我遇到了Cassandra的一个奇怪问题。我的理解是Cassandra可以插入缩放。这意味着如果我得到1500个写入/秒的2台服务器集群,我可以将其增加到4台服务器,并且接近1500次写入/秒。据我所知,写入数量可能不会随着群集中节点数量的增加而线性增加,但当添加更多节点时,我目前看不到写入次数的增加。Cassandra在群集上插入扼杀
我目前的设置是这样的:
批量插入使用Pycassa的20行的批量大小。 复制因子2 耐用写入
某些ColumnFamilies有正常的列,有些列的宽度高达数十万列。具有宽列的ColumnFamilies的插入插入多个批次,而不是20个包含100,000个列的行。
cassandra集群是EC2中托管的2节点集群,使用带有SSD驱动器的m1.xlarge(无raid),并且提交日志与sstables位于同一驱动器中。
我试过将集群扩展到10个以上的节点,我获得了与2个节点相同的性能。我也尝试增加导入数据的实例数量,性能是相同的,只是每个写入操作的延迟会高得多。但无论我做什么,我都无法使写入速度超过1500/s。
,我收到了相同的性能与2个客户端作为10.但你是对的Cassandra服务器不是I/O绑定插入。它们的负载平均值在1-2左右,集群的IOPS大约在500以下,这是驱动器能够承受的。我有大约500个csv文件,我正在导入cassandra,每个客户端一次运行8个进程,每次加载一个不同的csv文件。仍然没有运气...... – bwight 2013-03-25 17:55:57
还要确保你的客户端正在集群周围分发插入内容,而不是所有插入到同一个节点。 – Zanson 2013-03-26 23:17:19