使用Cassandra 3.10群集进行了几周的压力测试后,突然出现错误"Mutation of x bytes is too large",所有6个节点都出现了高CPU负载(例如load average: 33.26, 32.47, 32.15
)。
执行的查询的大小没有变化,因此我们尝试增加commit_log_segment_size_in_mb
。它没有多大帮助。 nodetool info
的结果与风格相同。
Gossip active : true
Thrift active : false
Native Transport active: true
Load : 126.04 GiB
Generation No : 1498838154
Uptime (seconds) : 68795
Heap Memory (MB) : 3258.00 / 8004.00
Off Heap Memory (MB) : 597.23
插入一些blob
,具有可预测的最大尺寸(并且不会因退化时间而变化)或~18kb(平均~10kb)。
数据主要使用单分区原子/记录批次(具有可配置且可预测的最大批量大小)进行更新,因为它根据压力测试提供了最佳吞吐量。 请注意,即使现在恢复为单独的异步更新也无法解决此问题。
可能导致表演突然退化的原因是什么?
数据量增加了(〜* 1.1),但我不希望它导致这种不成比例的问题(不存在与之相关的可用磁盘存储)。我希望卡桑德拉在这种情况下能够很好地扩展。
感谢您的想法