【问题标题】:Cassandra didn't read data from ssttableCassandra 没有从 ssttable 读取数据
【发布时间】:2012-12-01 03:41:37
【问题描述】:

使用 YCSB 并使用工作负载 c(read100%) 测试 cassandra。 iostat 在读取时总是显示 0。

配置:

数据在sdb上,24G数据,8G堆大小,默认memtable大小, 禁用行缓存和键缓存。

在我看来,统一请求会导致memtable丢失,并在ssttable上查找数据, 因此数据目录 iostat 不应为零。 8G heap 的 memtable 怎么能存储全部 24G 数据?

有人遇到同样的问题吗?

【问题讨论】:

    标签: io cassandra ycsb


    【解决方案1】:

    这里没有魔法。您的请求工作量不能像您想象的那样随机。

    我碰巧有一份 YCSB 已签出,并且工作负载c 使用了不统一的 requestdistribution=zipfian。

    【讨论】:

      【解决方案2】:

      机器上有多少总内存?如果您的机器上有 32GB 或更多的 RAM,那么它也可能是 OS 页面缓存 - 它位于 Cassandra 进程之外(例如,不是堆)。在这样的场景中,操作系统(假设它的 linux)最终会将整个 24GB 缓存在内存中,而您将获得很少的磁盘活动。

      【讨论】:

        猜你喜欢
        • 2018-04-12
        • 2017-07-14
        • 2018-07-11
        • 2015-09-26
        • 1970-01-01
        • 1970-01-01
        • 2014-03-26
        • 1970-01-01
        • 2019-10-04
        相关资源
        最近更新 更多