【问题标题】:Cassandra read/write bandwidthCassandra 读/写带宽
【发布时间】:2017-05-16 18:37:15
【问题描述】:

我正在使用最新的 Cassandra docker。 我正在运行多个容器,每个容器都运行一个独立的 Cassandra 实例。 每个实例都有一个本地 nvme SSD 来存储数据和提交日志。 我正在与 YCSB 合作测试性能 - 工作负载(50% 读取 50% 插入)100M 记录。 对于单个主机上的 2 个容器,我将获得 ~23K TPS。

我不明白的是 nvme ssd 性能: 我在每个 ssd 上看到稳定的 ~2GB/s 读取带宽,而写入只有 ~20MB/s。写入只在很短的时间内完成 - 大多数时候没有写入磁盘,偶尔我会看到 300MB/s 的写入峰值。

这是 Cassandra 的预期行为吗?磁盘读写之间的速率有这么大吗?

(主机有65GB内存)

问候,

大卫

【问题讨论】:

标签: performance docker cassandra


【解决方案1】:

是的,对我来说听起来不错。读更贵,写更便宜。由于您无法进行连接,因此想法是使每个查询仅从一个分区中读取。您可以通过多次反规范化和写入来实现这一点,而不是只写一次。

当内存表刷新时,会导致大量写入流量,这可能是导致这些大峰值的原因。读取会大量撞击磁盘,并且取决于压缩策略,可能需要大量 IO。然后还会有更稳定的(尽管仍然是突发的,每 10 秒一次)写入提交日志。您可能想查看write path 上的文档或查看这些readwrite 路径介绍。如果您搜索它,还有很多其他在线参考资料。

【讨论】:

    猜你喜欢
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2018-06-06
    • 2020-05-25
    • 2017-03-13
    • 1970-01-01
    相关资源
    最近更新 更多