Performance Cassandra协调器延迟和客户端延迟之间的主要差异

Performance Cassandra协调器延迟和客户端延迟之间的主要差异,performance,cassandra,Performance,Cassandra,当我使用cassandra.ClientRequest.ReadLatency.p99在协调器上测量p99的读取延迟时,我得到的时间约为20ms。当我使用DataStax Java驱动程序从客户机应用程序中测量它时,我得到了一个大约100ms的p99。这些机器之间的原始往返时间(网络开销)约为6ms。剩下的差异是典型的吗?还是有什么问题需要解决?我能想到的另一个可能的罪魁祸首是协调器节点上的垃圾收集。网络+内核+驱动程序反序列化+gcs中的延迟最有可能是由于协调遗漏导致无法很好地跟踪它们。此外,

当我使用cassandra.ClientRequest.ReadLatency.p99在协调器上测量p99的读取延迟时,我得到的时间约为20ms。当我使用DataStax Java驱动程序从客户机应用程序中测量它时,我得到了一个大约100ms的p99。这些机器之间的原始往返时间(网络开销)约为6ms。剩下的差异是典型的吗?还是有什么问题需要解决?我能想到的另一个可能的罪魁祸首是协调器节点上的垃圾收集。

网络+内核+驱动程序反序列化+gcs中的延迟最有可能是由于协调遗漏导致无法很好地跟踪它们。此外,如何度量它们也很重要,但驱动因素度量是您最感兴趣的度量,因为这是您的应用程序看到的时间。在ClientRequest度量之外的大多数时间是您必须使用环境解决的问题。虽然您可能希望确保在NativeTransport阶段(tpstats)中没有处于阻塞状态的内容,但在标记请求“开始时间”之前,这些内容将被延迟

我建议您也尝试使用它进行监控,因为如果您使用度量计时器,那么它使用的采样库(驱动程序默认使用的)在准确跟踪长尾延迟方面非常糟糕