cassandra-stress 读取或写入中的无预热选项
no-warmup option in cassandra-stress read or write
在使用 cassandra-stress 工具从 Cassandra 集群中的节点读取或写入时,有一个名为 no-warmup 的选项。这是什么意思?
使用那个选项会有性能提升吗?还是与数据延迟有关?
来自 DataStax 开发者博客,特别是 Jonathan Ellis 的 post 标题为 How not to benchmark Cassandra:
Tests against JVM-based systems like Cassandra need to be long enough to allow the JVM to “warm up” and JIT-compile the bytecode to machine code. cassandra-stress has a “daemon” mode to make it easy to separate the warm-up phase from results that you actually measure; for other workload generators, your best bet is to simply make enough requests that the warmup is negligible.
本质上,当您在 Cassandra 上正常查询 运行 时,JVM "warm up" 周期会在您的节点启动后不久就过去了。当您 运行 cassandra-stress 没有机会正确编译它需要的所有内容时,您的查询延迟将会发生偏差(可能更高)。
如果您有兴趣,这个问题会更多地讨论 warm-up 期间、它可能导致的问题以及处理它的解决方案: Technique or utility to minimize Java "warm-up" time?
因此,指定 "no warmup" 会有效地破坏您的测试结果。也就是说,除非您专门尝试测试 JVM 的 "warm up" 阶段的延迟。
在使用 cassandra-stress 工具从 Cassandra 集群中的节点读取或写入时,有一个名为 no-warmup 的选项。这是什么意思?
使用那个选项会有性能提升吗?还是与数据延迟有关?
来自 DataStax 开发者博客,特别是 Jonathan Ellis 的 post 标题为 How not to benchmark Cassandra:
Tests against JVM-based systems like Cassandra need to be long enough to allow the JVM to “warm up” and JIT-compile the bytecode to machine code. cassandra-stress has a “daemon” mode to make it easy to separate the warm-up phase from results that you actually measure; for other workload generators, your best bet is to simply make enough requests that the warmup is negligible.
本质上,当您在 Cassandra 上正常查询 运行 时,JVM "warm up" 周期会在您的节点启动后不久就过去了。当您 运行 cassandra-stress 没有机会正确编译它需要的所有内容时,您的查询延迟将会发生偏差(可能更高)。
如果您有兴趣,这个问题会更多地讨论 warm-up 期间、它可能导致的问题以及处理它的解决方案: Technique or utility to minimize Java "warm-up" time?
因此,指定 "no warmup" 会有效地破坏您的测试结果。也就是说,除非您专门尝试测试 JVM 的 "warm up" 阶段的延迟。