【问题标题】:Cassandra batch prepared statement size warningCassandra 批处理准备好的语句大小警告
【发布时间】:2018-10-27 08:34:04
【问题描述】:

我在 cassandra 的 debug.log 中不断看到这个错误,

WARN  [SharedPool-Worker-2] 2018-05-16 08:33:48,585 BatchStatement.java:287 - Batch of prepared statements for [test, test1] is of size 6419, exceeding specified threshold of 5120 by 1299.

在这

   where,
                    6419 - Input payload size (Batch)
                    5120 - Threshold size
                    1299 - Byte size above threshold value

所以根据 Cassandra 中的这张票,https://github.com/krasserm/akka-persistence-cassandra/issues/33 我看到这是由于输入有效负载大小的增加,所以我将 cassandra.yml 中的 commitlog_segment_size_in_mb 增加到 60mb,我们不再面临这个警告.

此警告有害吗?增加 commitlog_segment_size_in_mb 会影响性能吗?

【问题讨论】:

    标签: cassandra cassandra-3.0


    【解决方案1】:

    这与提交日志大小没有直接关系,我想知道为什么它的更改会导致警告消失...

    批量大小阈值由 batch_size_warn_threshold_in_kb 参数控制,默认为 5kb(5120 字节)。

    您可以将此参数增加到更高的值,但您确实需要有充分的理由使用批处理 - 了解它们的使用上下文会很好...

    【讨论】:

    • 我正在使用这个批量查询进行交易,这个警告有害吗?增加“batch_size_warn_threshold_in_kb”会影响应用程序吗?我对这张票感到困惑:github.com/krasserm/akka-persistence-cassandra/issues/33
    • 警告不是很有害,但是你需要控制你的批次有多大,所以设置为合理的值...
    • 我真的不明白为什么在这张票中,人们正在更改错误的设置...
    • 大批量的后果是什么?
    • 通常大批量意味着很多单独的语句。后果实际上取决于批次的类型和批次中的数据 - 它们是否用于相同的分区等。在docs.datastax.com/en/cql/3.3/cql/cql_using/useBatchTOC.html查看批次的正确和错误使用部分@
    【解决方案2】:

    commit_log_segment_size_in_mb 代表提交日志归档或时间点备份的块大小。仅当您在 commitlog_archiving.properties 文件中配置了 archive_command 或 restore_command 时,它们才处于活动状态。 默认大小为 32mb。

    根据专家 Apache Cassandra 管理书:

    you must ensure that value of commitlog_segment_size_in_mb must be twice the value of max_mutation_size_in_kb.
    

    你可以参考这个:

    Mutation of 17076203 bytes is too large for the maxiumum size of 16777216

    【讨论】:

    • 感谢您的回复,但是根据提供的另一个 StackOverflow 链接,我可以看到 Cassandra 可以接受 (commitlog_segment_size_in_mb / 2) 乘以有效负载中的数据大小。但是为什么 5KB 的抛出阈值错误呢?我的 commitlog_segment_size_in_mb 值为 32MB,其中 5KB 的含义是什么?
    • 我也想知道这个警告有害吗?请给点光
    • 问题标题不正确 - 此消息与完全不同的设置有关...
    猜你喜欢
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2015-06-23
    • 2016-02-05
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多