通常,读取延迟在3-4 ms左右,但是每15-20天,延迟时间就会上升到100到150 ms,因此我需要重新启动整个集群。读-修每到午夜都要进行。我想不出这个问题。
我有一个8节点的Scylla集群(4.1版).所有节点都在同一个数据中心内。在这方面,我有5个关键空间。
在3个键空间中的5个键空间中,我在压缩JSON之后存储JSON,并在CL = LOCAL_QUORUM上查询的读写。对于这些键空间,读和写的比率是相当相同的和6个月的TTL是为每一个插入的记录。每个键空间只有一个表。
对于另外两个键空间,我存储一些内部信任,并使用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 ms左右,但从5月20日起,它开始以指数方式增加,在23日达到100~150 ms时,我重新启动了集群,读取延迟恢复到正常状态。
我怀疑看到下面的图表,延迟的增加可能是由于在这段时间内到磁盘的读取。但量子是非常少的。
发布于 2022-06-08 10:25:28
读修复一直在运行,对于每个操作,如果副本之间存在差异,那么读修复就会同步旧的,只是在分区的基础上。
没有足够的数据来计算,这可能是压缩。最好在邮件列表上询问或松懈。你可以在这里上传压缩图和反应堆图。
而且,这是一个过时的版本-移动到4.6
https://stackoverflow.com/questions/72541651
复制相似问题