我正在使用 debug.log 中的以下日志观察 Cassandra 集群中的超时:
time 1478 msec - slow timeout 500 msec/cross-node
这是否表示读取请求花费了 1378 毫秒
来让其他副本响应?
NTP 与此集群同步,数据较少且分配了良好的 CPU 和内存。
设置 cross_node_timeout: true
会有帮助吗?
Cassandra 版本:3.11.6
谢谢
最佳答案
日志中报告的值 1478 毫秒是执行特定查询的时间记录器。因为它是跨节点的,所以表示此查询/操作是跨节点执行的。这只是一个警告,表明您的查询运行速度较慢。慢查询超时默认值为 500 毫秒,可以在 cassandra.yaml
中通过 slow_query_log_timeout_in_ms
设置。
如果这是您日志中的一个关闭日志,那么它可能是由 GC 引起的。如果它一直出现,则说明您的环境(网络等)或您的查询有问题。
关于属性 cross_node_timeout: true
,它是通过 CASSANDRA-4812 引入的.此属性的目的是在 NTP 服务器未跨节点同步的情况下避免超时。此属性的默认值为 false。由于 NTP 在您的集群上同步,您可以将其设置为 true,但它对您收到的消息没有帮助。
关于Cassandra - 频繁的跨节点超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64081759/