【问题标题】:Scylla DB latency increasing after every 15 daysScylla DB 延迟每 15 天增加一次
【发布时间】:2022-06-09 16:04:34
【问题描述】:

通常,读取延迟约为 3-4 毫秒,但每 15-20 天后延迟会飙升至 100-150 毫秒,因此我需要重新启动整个集群。读取修复在每个午夜运行。我无法弄清楚这个问题。

我有一个 8 节点的 Scylla 集群(4.1 版)。所有节点都在同一个数据中心内。在那,我有5个关键空间。

在 3 个键空间中的 5 个键空间中,我在压缩 JSON blob 后存储它,我正在查询CL = LOCAL_QUORUM 用于读取和写入.对于这些键空间,读取和写入比率几乎相同,并且为插入的每条记录设置了 6 个月的 TTL。每个键空间只有 1 个表。

对于其他 2 个键空间,我正在存储一些内部配置,并且正在使用CL = ALL 并使用 CL = LOCAL_ONE 读取它们.读写比率为 10:1,并且没有为插入的记录设置 ttl。每个键空间大约有 5-8 个表。

以下是所有表/键空间的配置:

Replciation factor = 3,
compaction = {\'class\': \'SizeTieredCompactionStrategy\'},
compression = {\'sstable_compression\': \'org.apache.cassandra.io.compress.LZ4Compressor\'},
crc_check_chance = 1.0,
dclocal_read_repair_chance = 0.1,
default_time_to_live = 0,
gc_grace_seconds = 864000,
max_index_interval = 2048,
memtable_flush_period_in_ms = 0,
min_index_interval = 128,
read_repair_chance = 0.0,
speculative_retry = \'99.0PERCENTILE\'

在下图中,我在 5 月 5 日重新启动了集群,从 5 月 5 日到 5 月 20 日,读取延迟约为 3-4 毫秒,但从 5 月 20 日开始,它开始以指数方式增加,并在 23 日达到 100-150 毫秒我有重新启动集群,读取延迟恢复正常。

Latency

我怀疑看到下图,延迟的增加可能是由于在该时间段内读取到磁盘。但是量子非常少。

Active SStables read

Dashboard 1

Dashboard 2

Dashboard 3

Dashboard 4

Dashbaord 5

Dashboard 6

    标签: database cassandra latency scylla


    【解决方案1】:

    读取修复一直在运行,对于每个操作,如果副本之间存在差异,读取修复会同步旧的,只是在分区的基础上。

    没有足够的数据来弄清楚,它可能是压实。最好在邮件列表或 slack 上询问。您可以在此处上传压缩和反应器图。

    此外,它是一个过时的版本 - 移动到 4.6

    【讨论】:

    • 感谢您的建议,我将更新到最新的稳定版本。此外,我添加了更多图表。让我知道您是否可以从中获得任何见解?并且我是否应该将我的压缩策略从大小分层更改为分级压缩策略 (LCS),因为我的系统读取量很大?
    猜你喜欢
    • 2018-11-04
    • 2015-04-30
    • 1970-01-01
    • 2023-02-16
    • 1970-01-01
    • 2013-02-03
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多