NoSQL 数据库中的性能指标

Performance metrics in NoSQL databases

我正在尝试使用 YCSB 基准测试工具对 NoSQL 数据库(即 Cassandra)进行基准测试。为此,我显然需要设置性能指标来衡量性能。我决定选择 Readwriteupdate。现在我很不确定它们是否是可供选择的正确指标,或者像 Scale-up、and/or elastic speedup 这样的指标是否值得选择?请给我一些建议。

您提到了操作延迟(读、写、更新)。这绝对是一个非常重要的指标,因此您应该设计显示延迟在这种情况下如何变化的测试:

  • 不同负载的操作延迟(每秒操作数)。
  • 不同工作负载的操作延迟(考虑工作负载中不同的操作组合或百分比)。
  • (不太重要)不同密钥流行度分布的操作延迟。

此外,您可以测试的其他内容有:

  • 弹性加速:在线添加服务器的影响(对操作延迟)。
  • 容错:随机服务器发生故障的影响(对操作延迟)。
  • 负载平衡:考虑到工作负载中不同的密钥流行度分布和不同的时间局部性,数据库在平衡服务器负载方面有多好。
  • 可扩展性:拥有更多或更少的节点如何影响操作延迟。在这种情况下,服务器不会在线添加(这将是弹性加速实验)。
  • 如果您 运行 在 EC2 上进行实验,那么选择 EC2 实例类型(中型、大型等)对性能有何影响。

此外,请考虑使用直方图或箱线图来观察对延迟的影响,因为仅绘制平均值无法让您衡量延迟的可变性。

最后,看看 this VLDB paper 了解更多想法。