这是对此问题的后续问题:Why is my cassandra throughput not improving when I add nodes?
我的架构目前看起来像这样(blob大致大致相同,大约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配置是开箱即用的。
当我在单独的主机中运行客户端和单个节点时,我得到大约55K插入/秒。 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
当我在与单个节点相同的主机上运行客户端时,我得到大约90K的插入/秒。直方图快照看起来像这样(上面几乎相同):
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
为什么插入率有很大差异?我会认为在拆分设置中费率会相等或更好吗?
顺便说一句,我看到这种奇怪的行为与我可以使用的硬件的所有排列,所以它比客户端的功能更多。答案 0 :(得分:1)
更详细地说,发生的事情是,当我与网络的连接是1G时,我正在某个地方经历一个意想不到的100Mb路由器。一旦我意识到这一点并确保所有移动部件都在同一个1G网络中,我的速率就会跃升到180K插入/秒。
如果有人关心,用于检查界面速度的Linux命令是
sudo ethtool eth0
测试框之间速度的工具是iperf。