从文档中给出
commitlog_total_space_in_mb (默认:32位JVM为32MB,64位JVM为8192MB)注意用于提交日志的总空间。如果使用的空间超过此值,Cassandra会向上舍入到下一个最近的段multiple,并将memtables刷新到磁盘以获取最旧的commitlog段,从而删除这些日志段。这减少了在启动时重放的数据量,并防止不经常更新的表无限期地保留commitlog段。较小的总提交日志空间往往会导致活动较少的表上的刷新活动更多。
从Cassandra.yaml中指定:
用于磁盘上提交日志的总空间。
如果空间超过此值,Cassandra将清空每个脏CF 在最旧的部分并删除它。所以一个小的总commitlog空间 在较不活跃的列家庭中,往往会导致更多的冲洗活动。
默认值是8192中的较小值,占总空间的1/4 提交日志卷。
commitlog_total_space_in_mb:8192
我的查询是以下语句的含义:
默认值是8192中的较小值,占总空间的1/4 提交日志卷。
我的提交日志在同一个硬盘驱动器中,但驱动器不同 我已将提交日志的卷分配为70 GB。我应该将它减少到8GB,还是应该将它减少到32 GB,因为1/4的音量空间让我误以为需要考虑分区空间。
我有commitlog_total_space_in_mb的默认值,那么理想的提交日志分区大小应该是什么?
P.s:我知道这两个应该在不同的驱动器上以获得更好的性能。
答案 0 :(得分:0)
关于您关于Cassandra.yaml语句的第一个问题-提交日志大小为:
Min(8GB, 0.25*total_disk_size)
在您的情况下,由于您已分配70 GB,因此提交日志大小将为8 GB。 您可以避免在Cassandra.yaml中设置大小而避免计算
关于第二个问题,最佳大小是多少?根据我的测试,将提交日志目录设置为8GB以下时,您会收到警告,提示磁盘空间不足,因此将其设置为8GB以上并记住,您始终可以增加大小。