Io 卡桑德拉没有从ssttable读取数据

Io 卡桑德拉没有从ssttable读取数据,io,cassandra,ycsb,Io,Cassandra,Ycsb,使用YCSB和Workload Cread100%测试cassandra。 并且iostat总是用read显示0 配置: 数据在sdb上,24G数据,8G堆大小,默认memtable大小, 禁用行缓存和键缓存 如我所想,统一请求将导致memtable未命中,并在ssttable上查找数据, 因此,data dir iostat不应为零。 8G堆的memtable如何存储所有24G数据 有人碰到同样的问题吗 这里没有魔法。您的请求工作负载不能像您想象的那样随机 我碰巧签出了YCSB的一个副本,Wo

使用YCSB和Workload Cread100%测试cassandra。 并且iostat总是用read显示0

配置:

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

如我所想,统一请求将导致memtable未命中,并在ssttable上查找数据, 因此,data dir iostat不应为零。 8G堆的memtable如何存储所有24G数据


有人碰到同样的问题吗

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


我碰巧签出了YCSB的一个副本,Workload C使用的requestdistribution=zipfian不统一。

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