我们正在尝试使用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次。我的要求是绘制每秒节点级写入数和每秒表级写入数。
答案 0 :(得分:0)
是,ClientRequest Latency指标位于节点级别。您每秒只有100次写入的原因意味着此节点获得的客户端请求非常少。
表级别适用于集群中的所有节点,这意味着您的所有节点一起对此表执行5000次写入。
您会发现是否有任何热点(意味着这些节点处理的流量比其他节点多)。也许您正在使用有限数量的分区键,这些分区键将针对有限数量的节点。这很可能是您的问题(数据模型不佳)。您还可以检查驱动程序正在使用的负载平衡策略,并进行更改。