gpt4 book ai didi

nosql - Cassandra 存储与内存大小

转载 作者:行者123 更新时间:2023-12-04 14:46:16 24 4
gpt4 key购买 nike

我正在考虑使用 Cassandra 后端开发应用程序。我希望我能够在具有以下规范的商品硬件上运行每个 cassandra 节点:

  • 四核 2GHz i7 CPU
  • 2 个 750GB 磁盘驱动器
  • 16 GB 安装内存

现在,我一直在网上阅读 Cassandra 的可用磁盘空间应该是磁盘上存储空间量的两倍,这意味着每个节点(在 RAID-1 配置中设置)都能够存储 375 GB 的数据,这是可以接受的。

我的问题是 16GB RAM 是否足以有效地为每个节点提供 375GB 的数据。开发的应用程序中的数据也将相当依赖于时间,因此最近的数据将是从数据库中读取最多的数据。事实上,大部分数据将在大约 6 个月后被删除。

此外,我会为 Cassandra 分配一个接近 16 GB 的堆 (-Xmx),还是 Cassandra 使用堆外内存?

最佳答案

您不应将 Cassandra 堆设置为超过 8GB;比这更大,垃圾收集会因长时间停顿而杀死你。 Cassandra 将使用缓冲区缓存(与其他应用程序一样),因此不会浪费剩余的内存。

如果您的热数据集都适合 RAM,或者如果服务速率可以从磁盘提供,则 16GB 的 RAM 将足以提供数据。磁盘可以执行大约 100 次随机 IO/s,因此如果您需要超过 200 次读取/秒,您需要确保数据在缓存中。 Cassandra 导出良好的缓存统计信息(cassandra-cli 显示键空间),因此您应该能够轻松判断缓存的有效性。

请记住,RAID-1 中只有两个磁盘,您不会有专门的提交日志。这可能会严重影响写入性能。如果确实影响性能,您可能需要考虑关闭提交日志,并放弃持久写入。

关于nosql - Cassandra 存储与内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8486861/

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