首页 新闻 会员 周边 捐助

redis cpu 占用率高

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-17 13:31

redis cpu 占用率往往超过95%,导致响应速度很慢,有遇到过这问题的大神烦请指教。

achievie的主页 achievie | 初学一级 | 园豆:6
提问于:2013-09-16 09:52
< >
分享
最佳答案
0

操作系统是Windows还是Linux?

收获园豆:20
dudu | 高人七级 |园豆:30948 | 2013-09-16 10:25

Windows服务器,Asp.Net ,ServiceStack.Redis 客户端。

achievie | 园豆:6 (初学一级) | 2013-09-16 10:28

采用的2.6 的版本。

achievie | 园豆:6 (初学一级) | 2013-09-16 10:31

@董先生: 放在redis中的数据有多大?

dudu | 园豆:30948 (高人七级) | 2013-09-16 10:36

@dudu: 100 多M, 6990个keys.

是不是key 值太长的原因,key 的名称如下所示:

xxxx_xxxxxxxxx_1372932558796:1372412072500:137842752421

有用sortedSet 排序。

achievie | 园豆:6 (初学一级) | 2013-09-16 10:47

@董先生: 服务器CPU什么配置?

dudu | 园豆:30948 (高人七级) | 2013-09-16 10:56

@dudu: 4核,8G .现在每秒会有近3000 次redis 请求。

achievie | 园豆:6 (初学一级) | 2013-09-16 11:02

@董先生: 我猜测这么高QPS,这样的配置低了些,而且是Windows

dudu | 园豆:30948 (高人七级) | 2013-09-16 11:09

@dudu:上线一周后出现这样的问题,之前一直正常。对出现这样的问题感到很诧异。纠结中啊...

achievie | 园豆:6 (初学一级) | 2013-09-16 11:25

@董先生: 建议检查一下是不是有地方连接没有及时关闭

dudu | 园豆:30948 (高人七级) | 2013-09-16 11:29

@dudu:  

instantaneous_ops_per_sec:2972  每秒执行的命令个数 2972 个。正常么?
achievie | 园豆:6 (初学一级) | 2013-09-16 16:18

@董先生: 单凭个数不能判断是否有问题,关键在当前的服务器配置能否支撑这样的负载?

dudu | 园豆:30948 (高人七级) | 2013-09-16 16:47

@dudu: 问题已经找到了。因为有用到 IRedisTypedClient 的save 方法 这个方法是写入数据到物理硬盘的。之前不太清楚这个方法的作用也没有太在意,没想到会带来这么严重的性能问题。建议官方多出些相关文档说明,这样可以避免我们这些小白少走很多心酸路。感谢dudu 的帮助,结贴啦。

achievie | 园豆:6 (初学一级) | 2013-09-17 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册