【问题标题】:Usage of the Cassandra tool cassandra-stressCassandra 工具 cassandra-stress 的使用
【发布时间】:2015-07-14 18:01:15
【问题描述】:

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

我的结果(x 轴=线程,y 轴=ops/sek,数据集=集群中的节点(1、2、3、4):

this benchmark site 中的results 相比,我的结果似乎不正确。

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

cassandra-stress write

我也试过这个没有任何效果:

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

另请参阅我的其他问题here。谢谢!

-- 编辑:Jim 的解决方案--
从 C* 集群外的其他 EC2 实例运行 cassandra 工具,但在同一 LAN 中(这样您就可以使用内部 ips 10.x.x.x)。我启动了一个 1/2/4 节点集群,其中包含 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

然后用 read 命令读取这个数据:

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



谢谢你,吉姆!

【问题讨论】:

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

标签: cassandra cassandra-stress


【解决方案1】:

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

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

要了解集群吞吐量的真实情况,您应该从集群外部的多台机器(但在同一个 LAN 上)承受压力。

【讨论】:

  • 谢谢 Jim,这就是解决方案:我运行了一个 1 / 2 / 4 节点 Cassandra 集群,并通过其他 4 个 EC2 实例(在同一个 LAN 中)启动了 cassandra-stress 工具。现在读取操作/秒似乎是现实的:149000(C*-cluster 中的 1 个节点)、348000(C*-cluster 中的 2 个节点)和 480000(C*-cluster 中的 4 个节点)。
猜你喜欢
  • 2014-04-26
  • 2019-12-15
  • 2018-09-12
  • 2017-12-05
  • 2020-04-01
  • 2016-12-28
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多