IO util 一直都是100%
集群采用codis+pika
机器配置:内存256GB 磁盘NVME 7T
数据量单副本 2T左右
QPS 2w左右
一台机器8个pika实例,1024/2=512个slot
iostat
iotop

请问为啥读的IOPS这么高,pika 到底在干啥?
出现这个问题的原因是由于设置的slot数目太多,每个slot都会创建memtable。但由于rocksdb中memtable内存总量的限制导致频繁刷盘。建议减少slot数目。例如8个slot。
codis 就是1024个slot. 我们用了两组机器 一组机器 就是512 个slot 每台机器起了8个实例 每个实例大概64个slot. 请问你是说减少slot 的意思是 一台机器总的slot减少还是每个实例的slot减少 然后多起几个实例?
出现这个问题的原因是由于设置的slot数目太多,每个slot都会创建memtable。但由于rocksdb中memtable内存总量的限制导致频繁刷盘。建议减少slot数目。例如8个slot。
memtable 不是跟写有关系吗?跟读也有关系吗?
codis中1024个slot,是这个变量设置的 const MaxSlotNum = 1024 修改下这个参数重新编译。例如你目前使用的是8个group,考虑到未来的扩展,可以把这个值设为16.
memtable 不是跟写有关系吗?跟读也有关系吗?
compaction过程会产生读操作。
codis中1024个slot,是这个变量设置的 const MaxSlotNum = 1024 修改下这个参数重新编译。例如你目前使用的是8个group,考虑到未来的扩展,可以把这个值设为16.
如果不改变[const MaxSlotNum = 1024] 。还是用1024 现在设置的16group 2组机器,一主一从 共4台 一组机器8group. 即使设置更多的group. 也是部署在这2组机器 。对一台机器来说slot数量就这么多(512) 。我感觉你的意思是 最好部署在多台机器上吧?我是想在现有资源的基础上去优化。
主要是codis中的slot总个数,需要pika也要创建这么多总数slot来对应。只能通过减少const MaxSlotNum,减少总的slot数目。进而减少memtable。
一台物理机512个slot是非常多的。实际对应这台物理机上会创建512*5个rocksd实例。
是的。感谢解答 。还有个小小的问题,一台物理机设置多少个rocksd实例,也就是分配多少slot 比较合适 ,这个由什么决定?
从资源利用的角度来说,尽可能少的slot的数目是合适的。但需要考虑未来扩展,可以double放宽。例如你如果有8台物理机,每台一块物理磁盘。那么8个slot,分配到8个group就可以充分利用物理资源。考虑到未来的扩容,那么可以实际设置为16个slot。
是的。感谢解答 。还有个小小的问题,一台物理机设置多少个rocksd实例,也就是分配多少slot 比较合适 ,这个由什么决定?
集群采用codis+pika 机器配置:内存256GB 磁盘NVME 7T 数据量单副本 2T左右 QPS 2w左右 一台机器8个pika实例,1024/2=512个slot iostat
iotop
请问为啥读的IOPS这么高,pika 到底在干啥?
你好,请问问题解决了吗?
是的。感谢解答 。还有个小小的问题,一台物理机设置多少个rocksd实例,也就是分配多少slot 比较合适 ,这个由什么决定?
集群采用codis+pika 机器配置:内存256GB 磁盘NVME 7T 数据量单副本 2T左右 QPS 2w左右 一台机器8个pika实例,1024/2=512个slot iostat
iotop
请问为啥读的IOPS这么高,pika 到底在干啥?
你好,请问问题解决了吗?
问题解决了 ,我这边的问题主要是 codis-dashboard(我们的开发 改了原版的codis 加了一些功能) 里加了一分钟刷一次key的功能, 才导致这么高的读IO ,后来改了代码,去掉这个功能。IO就降了
是的。感谢解答 。还有个小小的问题,一台物理机设置多少个rocksd实例,也就是分配多少slot 比较合适 ,这个由什么决定?
集群采用codis+pika 机器配置:内存256GB 磁盘NVME 7T 数据量单副本 2T左右 QPS 2w左右 一台机器8个pika实例,1024/2=512个slot iostat
iotop
请问为啥读的IOPS这么高,pika 到底在干啥?
你好,请问问题解决了吗?
问题解决了 ,我这边的问题主要是 codis-dashboard(我们的开发 改了原版的codis 加了一些功能) 里加了一分钟刷一次key的功能, 才导致这么高的读IO ,后来改了代码,去掉这个功能。IO就降了
感谢反馈