Cassandra工具cassandra-stress的用法

问题描述:

我想用1,2,3和4个实例对我的Cassandra Clusters进行基准测试。所以我在节点的一个上运行cassandra-stress工具。基准测试显示出奇怪的结果,参见下图( - >少数线程时,单节点集群比2-/3-/4-节点集群有更多的操作系统/ sek)。Cassandra工具cassandra-stress的用法

我的结果(x-轴=线程,y轴= OPS/SEK,数据集=节点集群(1,2,3,4):
enter image description here

相比resultsthis benchmark site ,我的成绩似乎并不正确,现在

我的问题是:我是否正确地使用工具,如果我在群集的一台机器上运行以下命令:

cassandra-stress write 

我也试过这个没有任何影响:

cassandra-stress write -node ip1,ip2,... 

另见我的其他问题here。谢谢!

- 编辑:方案由吉姆 -
运行从C * -cluster以外的其他的EC2实例卡桑德拉的工具,但在同一个局域网(这样你就可以用内部IP 10.xxx工作) 。我启动了具有4个独立基准调用者节点的1/2/4节点群集。他们每个人都得到了下面的命令之一:

先写:

cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4 
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000 -node ip1,ip2,ip3,ip4 
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4 
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4 

然后读取这些数据与读命令:

cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4 
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000 -node ip1,ip2,ip3,ip4 
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4 
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4 

这里读书的结果

1 Node cluster: 149,000 ops/sec 
2 Node cluster: 348,000 ops/sec 
4 Node cluster: 480,000 ops/sec 



谢谢,吉姆!

+0

这些最终数字是您对所有压力测试结果所做的总结吗?谢谢我现在正在处理这样一个问题。 – Totoro

如果你只在一个节点上运行cassandra-stress,那么我认为这将是预期的结果。单台机器无法饱和四个节点群集,并且会成为瓶颈。

另外,如果您在其中一个cassandra节点上运行cassandra-stress,则该节点将通过运行Cassandra和压力客户端来双重加载。这会给该机器的CPU和网络连接带来额外的压力。

要真正了解群集吞吐量,您应该从群集外部的多台计算机(但位于同一局域网)上运行压力。

+0

谢谢Jim,那就是解决方案:我运行了1/2/4节点的Cassandra集群,并通过4个其他EC2实例(在同一个LAN中)启动了cassandra-stress工具。现在,读取操作数似乎是实际值:149000(C *群集中的1个节点),348000(C *群集中的2个节点)和480000(C *群集中的4个节点)。 –