gpt4 book ai didi

cassandra - Cassandra VNodes 会交易性能吗?

转载 作者:行者123 更新时间:2023-12-04 17:50:46 25 4
gpt4 key购买 nike

我在 6 节点集群上使用 DataStax Cassandra 1.2.3,每个集群都有四核 3GHz 处理器和 8GB RAM。最近开始用VNodes通过首先将 num_tokens 设置为 256 然后设置为 128 来实现功能。我观察到我正在使用的架构的性能 [No.of write requests/sec] 下降。我主要有一个规范化的架构,混合了宽表和计数器列族。

  • 有没有人观察到使用 VNode 的性能下降?是否有任何已知的优化技术可以更好地利用 VNode?
  • 是否存在可以为给定硬件配置/节点导出的 num_tokens 的最佳值?
  • 此外,我看到集群几乎平衡,一个节点自动承担更高的负载份额,尽管我有一个同构集群。在使用 VNodes 之前,我会手动平衡 Murmer3Partitioner 的集群并且性能很好。

  • 谢谢,
    VS

    最佳答案

    (这是我帖子的修改版:http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Why-so-many-vnodes-td7588267.html)

    每个节点的 token 数(我们称之为 T 和节点数 N),256,被选择为大多数集群大小的随机 token 分配提供良好的负载平衡。对于小 T,随机选择初始标记在大多数情况下会导致数据分布不佳。 T越大,分布越接近均匀,概率越大。

    此外,对于小 T,当添加一个新节点时,它不会有很多范围要拆分,因此将无法获取数据的均匀切片。

    为此,T 应该很大。但是如果它太大,有太多的切片需要跟踪,所以性能会受到影响。查找哪些键位于何处的功能变得更加昂贵,并且处理单个 vnode 的操作例如修复变得缓慢。 (一个极端的例子是 SELECT * LIMIT 1,当没有数据时,它必须依次扫描每个 vnode 以搜索单行。这是 O(NT),即使非常小的 T 也需要几秒钟才能完成。)

    所以选择 256 是一个合理的平衡。我不认为大多数用户会觉得它太慢;拥有超大集群的用户可能需要增加它。

    关于cassandra - Cassandra VNodes 会交易性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084427/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com