cassandra - Cassandra工具cassandra-stress的使用

标签 cassandra cassandra-stress

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

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

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

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

cassandra-stress write

我也尝试过,没有任何效果:

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

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

--编辑:吉姆的解决方案--
从 C* 集群外部但在同一 LAN 中的其他 EC2 实例运行 cassandra-tool(这样您就可以使用内部 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

然后使用读取命令读取此数据:

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-stress,那么我认为这将是预期的结果。单台机器无法使四节点集群饱和,并且会成为瓶颈。

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

要真实了解集群吞吐量,您应该从集群外部(但在同一 LAN 上)的多台计算机运行压力。

关于cassandra - Cassandra工具cassandra-stress的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31336753/

相关文章:

cassandra - 如何在 Kubernetes 部署文件中启用 Cassandra 密码身份验证

java - Elassandra - 错误 : Could not find or load main class org. apache.cassandra.stress.Stress

cassandra-2.0 - 如何使用 cassandra 压力工具

cassandra - Cassandra 压力测试

Java - 在 "IN"中有大量参数的 Cassandra

cassandra - 在 CAS 操作中获取 WriteTimoutException

hadoop - Cassandra 升级 0.8.2->0.8.4 出现错误 "failed connecting to all endpoints"

c++ - C++Driver中Blob类型的映射

cassandra - Apache Cassandra 3.11.6 : clustering key error, cass-stress 写入后表中未定义的列名称