Cassandra CQL 准备语句比非准备语句慢?

Cassandra CQL prepared statements slower than non prepared ones?

最近我们一直在对我们的一些 Cassandra 集群进行压力测试,比较一致性级别、prepared/non-prepared 语句和 sync/async 执行模式的所有组合的性能,并且在每个配置上始终具有最高性能是 (any/one) 个非准备语句的组合 运行 异步!!

那里有一些有意义的位,any/one 一致性级别限制较少,因此应该是最快的。此外 运行 异步查询,因此利用并行计算应该而且确实比 运行 顺序查询更快,但是准备语句与非准备语句呢?

我们总是读到和听到(博客、峰会、布道者……)我们应该尽可能地支持准备好的陈述而不是非准备的陈述,但是这个结果令人困惑……

为了让您了解一些背景知识,我们使用了两种不同的工具(一种是内部构建的工具和一种是 cassandra-stress),它们都产生了相同的结果。

有人遇到过这个吗?哪个是解释?我们缺少什么?

此致

编辑:

查看您的数据后,我认为您在这里看到的限制不是针对您的集群,而是针对服务器 运行 测试。如果您正在测试一个 3 节点 Cassandra 集群,您可能需要 2-3 倍于产生负载的客户端服务器数量。您可以尝试通过增加线程数来最大化每个客户端的使用量,但您会达到一个限制。

一般来说,如果您在 cassandra 压力测试中得到的结果是平线,请查看被测节点。如果他们大多感到无聊,请增加客户端(或线程)的数量,直到节点承受压力。 :)