Cassandra节点上的高负载

时间:2015-01-19 09:24:35

标签: cassandra datastax-enterprise opscenter

由于某种原因,我在Cassandra节点上遇到高负荷。以下是获取图片的一些信息。

  • 当我创建一个全新的群集时,负载会持续几天持续低,并且会在一周之后或者某些事情发生时增加,导致我发现的不稳定性整个集群

  • 我正在拍摄我的一个密钥空间的快照,每4小时包含大约300-400 MB的数据并删除超过7天的密钥空间,所有这些都在OpsCenter中配置

  • 群集正在Microsoft Azure中的条带化磁盘上运行

  • 节点在2个内核上运行,内存为3.5 GB,我很清楚这比推荐的硬件低,但这不应该是高负载的原因,我尝试在4核上运行使用7 GB的RAM并没有看到差异

我确信可能会有一大堆可能导致高负荷的东西,但我想有可能比其他东西更有可能。

enter image description here

修改

这种高负载似乎是由OpsCenter中的修复服务引起的。必须有一些设置来调整服务如何运行修复。

1 个答案:

答案 0 :(得分:5)

您可以通过在opscenterd.conf中添加[repair_service]部分来配置修复服务。

调整的主要杠杆是:

max_parallel_repairs = 0  

你可以增加这个,直到修复完成得足够快,以便在你需要的时间内完成(< gc_grace_seconds)

min_repair_time = 5

如果您没有那么多数据,修复服务可能会过快完成并重新启动 - 从而导致不必要的开销。您可以增加此值以确保不会过于频繁地运行修复

snapshot_override

同样,如果您没有太多数据并且修复服务过快完成,您将生成太多快照(默认情况下,修复服务会在每次修复之前拍摄快照)。如果您的快照目录非常快速地填满,您可能需要将其关闭,直到您将服务调整为仅运行一次(使用raise min_repair_time drop parallel_repairs)。

注意:修复服务的重点是将昂贵/资源消耗的修复过程分散到较小的作业中,这意味着您可以将整体cpu利用率提高5%或10%在任何时候,而不是在常规修复运行期间使其飙升并影响您的工作量。

有关advanced configuration

的详情