Cassandra读取或写入延迟JMX度量标准

时间:2018-02-02 11:41:09

标签: cassandra jmx prometheus

我们正在尝试使用Prometheus来管理我组织中的Cassandra集群(v2.1.x)。我有一个与读取或写入延迟指标相关的问题。

对于节点级读取或写入延迟,我使用的指标是 - org.apache.cassandra.metrics <type=(ClientRequest), scope=(Read|Write), name=(Latency)&GT;&LT;&GT;(OneMinuteRate)

对于表级,我正在使用 - org.apache.cassandra.metrics <type=(Keyspace), keyspace=(\S*), name=(ReadLatency|WriteLatency)&gt;&lt;&gt;(OneMinuteRate)

我通过在示例表上运行cassandra-stress实用程序来测试指标。在表级,我​​看到写入大约是每秒5000。这是预期的。

但是节点级写入大约是每秒100次。我的要求是绘制每秒节点级写入数和每秒表级写入数。

1 个答案:

答案 0 :(得分:0)

是,ClientRequest Latency指标位于节点级别。您每秒只有100次写入的原因意味着此节点获得的客户端请求非常少。

表级别适用于集群中的所有节点,这意味着您的所有节点一起对此表执行5000次写入。

您会发现是否有任何热点(意味着这些节点处理的流量比其他节点多)。也许您正在使用有限数量的分区键,这些分区键将针对有限数量的节点。这很可能是您的问题(数据模型不佳)。您还可以检查驱动程序正在使用的负载平衡策略,并进行更改。