Pika 3.3.6 存储(HASH)数据,CPU异常
Hello,我们进行打算升级我们的Pika从2.3.8到3.3.6,在验证中发现3.3.6在存储数据时,CPU异常,几乎在50%
这是写入的网络流量

而在相同写入并发,同类型机器,pika 2.3.8版本的情况下,CPU几乎无使用
并且写入的网络流量比在3.3.6提高了5倍

Pika 进程的线程CPU
Pika 3.3.6

Pika 2.3.8

1我们也通过测试发现,线程池调度有些问题,存在惊群的问题。这个我们已经修复,在后续的版本中会发出。2 3.3.6 提供小规模compact的功能,会调用rocksdb bg线程做compact。参考 pika最佳实践之三十一。
请问,预计什么时候发修复版?
两周之后
好的
请问,你们新版本预计什么时候发布?
这次我们的开发的变动较大,包含了raft一致性协议,对代码进行了大量的重构。预计7月份能发布一版 raft prerelease 版本。
请问,raft prerelease 版本是指官方集群版吗?
Pika 进程的线程CPU
Pika 3.3.6
Pika 2.3.8
图中,2.3.8 在有压力写入的情况下,几乎不使用cpu,这个很异常啊。

这个还好啊,网络流量才 10Mbps(包含hgetall请求,hset请求和请求数据,zadd请求,和过期设置),监控显示CPU使用才1%多点
现在在2.3.8发现CPU消耗大的一种场景是hget(还没试过hmget),将hget变为hgetall(再在业务代码中过滤field),CPU将下降一半以上
据刘振回忆,网络队列 来任务时由于使用了 condition 的 notify all 导致了惊群问题,后来改为 notify one 解决了该问题。https://github.com/Qihoo360/pink/compare/e0d42563d11d193ebc3e4bc6066636abee85938c...83f884cfeb5f5788659c316538c4f355b339bb87#diff-92f3e13615c33e923d2aae7d9b742e3b8a3d32bfa03c9e2538a59a1bf200423f