【发布时间】:2019-05-26 00:23:36
【问题描述】:
在进入 system.log 之前,我们如何在 cassandra 集群上找到大分区?因此,我们面临一些性能问题。谁能帮我。我们有 cassandra 版本 2.0.11 和 2.1.16。
【问题讨论】:
标签: cassandra cassandra-2.0 cassandra-2.1
在进入 system.log 之前,我们如何在 cassandra 集群上找到大分区?因此,我们面临一些性能问题。谁能帮我。我们有 cassandra 版本 2.0.11 和 2.1.16。
【问题讨论】:
标签: cassandra cassandra-2.0 cassandra-2.1
您可以查看 nodetool tablestats(或旧版本 Cassandra 中的 nodetool cfstats)的输出 - 对于它具有行 Compacted partition maximum bytes 以及其他信息的每个表,例如当最大分区大小约为 268Mb 时的此示例:
Table: table_name
SSTable count: 2
Space used (live): 147638509
Space used (total): 147638509
.....
Compacted partition minimum bytes: 43
Compacted partition maximum bytes: 268650950
Compacted partition mean bytes: 430941
Average live cells per slice (last five minutes): 8256.0
Maximum live cells per slice (last five minutes): 10239
Average tombstones per slice (last five minutes): 1.0
Maximum tombstones per slice (last five minutes): 1
.....
但nodetool tablestats 只为您提供当前节点的信息,因此您需要在集群的每个节点上执行它。
更新:您可以使用不同的工具找到最大的分区:
【讨论】:
Try nodetool tablehistograms -- <keyspace> <table> 命令提供有关表的统计信息,包括读/写延迟、分区大小、列数和 SSTable 数。
下面是示例输出:
Percentile SSTables Write Latency Read Latency Partition Size Cell Count
(micros) (micros) (bytes)
50% 0.00 73.46 0.00 223875792 61214
75% 0.00 88.15 0.00 668489532 182785
95% 0.00 152.32 0.00 1996099046 654949
98% 0.00 785.94 0.00 3449259151 1358102
99% 0.00 943.13 0.00 3449259151 1358102
Min 0.00 24.60 0.00 5723 4
Max 0.00 5839.59 0.00 5960319812 1955666
这提供了表的正确统计信息,例如 raw_data 表的 95% 的分区大小为 107MB,最大为 3.44GB。
希望这有助于找出性能问题。
【讨论】: