【问题标题】:no-warmup option in cassandra-stress read or writecassandra-stress 读取或写入中的 no-warmup 选项
【发布时间】:2023-03-27 06:43:01
【问题描述】:

在从 Cassandra 集群中的节点读取或写入时,使用 cassandra-stress 工具,有一个称为 no-warmup 的选项。这是什么意思?

使用该选项时会有任何性能改进吗?还是与数据的延迟有关?

【问题讨论】:

    标签: cassandra cassandra-2.1


    【解决方案1】:

    来自 DataStax 开发者博客,特别是 Jonathan Ellis 题为 How not to benchmark Cassandra 的帖子:

    针对 Cassandra 等基于 JVM 的系统的测试需要足够长的时间,以允许 JVM “预热”并将字节码 JIT 编译为机器码。 cassandra-stress 有一个“守护进程”模式,可以轻松地将热身阶段与您实际测量的结果分开;对于其他工作负载生成器,最好的办法是简单地发出足够多的请求,使预热可以忽略不计。

    基本上,当您的查询在 Cassandra 上正常运行时,JVM“热身”期会在您的节点启动后不久过去。当您运行 cassandra-stress 却没有机会正确编译所需的所有内容时,您的查询延迟将出现偏差(可能更高)。

    如果您有兴趣,这个问题会更多地讨论预热期、它可能导致的问题以及处理它的解决方案: Technique or utility to minimize Java "warm-up" time?

    因此,指定“不预热”将有效地破坏您的测试结果。也就是说,除非您专门尝试测试在 JVM 的“热身”阶段您的延迟是多少。

    【讨论】:

      猜你喜欢
      • 2017-12-05
      • 2019-09-06
      • 2018-07-12
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 2018-09-12
      • 1970-01-01
      相关资源
      最近更新 更多