Cassandra Commit日志理想大小和默认大小说明

问题描述 投票:3回答:1

从文档中给出

commitlog_total_space_in_mb(默认值:32位JVM为32MB,64位JVM为8192MB)注意用于提交日志的总空间。如果使用的空间超过此值,Cassandra会向上舍入到下一个最近的段multiple,并将memtables刷新到磁盘以获取最旧的commitlog段,从而删除这些日志段。这减少了在启动时重放的数据量,并防止不经常更新的表无限期地保留commitlog段。较小的总提交日志空间往往会导致活动较少的表上的更多刷新活动。

并且从Cassandra.yaml中指定:

用于磁盘上提交日志的总空间。

如果空间超过此值,Cassandra将刷新最旧段中的每个脏CF并将其删除。因此,较小的总commitlog空间往往会导致较不活跃的列系列上的更多刷新活动。

默认值是8192中的较小值,以及commitlog卷总空间的1/4。

commitlog_total_space_in_mb:8192

我的查询是以下语句的含义:

默认值是8192中的较小值,以及commitlog卷总空间的1/4。

我有我的提交日志在同一个硬盘驱动器但不同的驱动器我已将提交日志的卷分配到70 GB。我应该将其减少到8GB还是应该将其减少到32 GB,因为1/4的音量空间会让我误认为是分区空间。

我有commitlog_total_space_in_mb的默认值,那么理想的提交日志分区大小应该是什么?

P.s:我知道这两个应该在不同的驱动器上以获得更好的性能。

configuration cassandra cassandra-2.0 cassandra-3.0 cassandra-2.1
1个回答
0
投票

至于你关于Cassandra.yaml语句的第一个问题 - 提交日志大小将是:

Min(8GB, 0.25*total_disk_size)

在您的情况下,因为您已分配70 GB,提交日志大小将为8 GB。你可以避免这些计算在Cassandra.yaml设置大小

至于你的第二个问题,最佳大小是什么,从我在8GB下设置提交日志目录时的测试,你会得到一个警告,因为它的磁盘大小不足,所以设置它超过8GB并记住你总是可以增加这个大小。

© www.soinside.com 2019 - 2024. All rights reserved.