网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

storm写redis问题小结

  最近一直在跟进storm的问题,从storm集群的稳定性到监控到升级到bolt写redis的问题,因为公司目前没有专业运维redis的,只能我们数据部门自己搞了。。下面记录下遇到的几个问题:

目前创新互联公司已为1000多家的企业提供了网站建设、域名、网站空间网站托管、企业网站设计、清丰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

总结下目前storm写redis问题:

1.redis高峰写入异常,增加redis监控,发现cpu性能瓶颈(redis单线程,最高10w/s的处理量)

2.之前redis bolt的并发在200以上,过多的并发对redis的性能造成比较大的影响,现在已经减少为5

3.关闭了redis的monitor监控,常驻的monitor监控对redis的性能损耗在30%左右

4.关闭了redis的rdb持久化方式,开启了aof的方式,在低峰aofrewrite

5.扩容到8个实例,使用jedissharding的方式,高峰时单机超过5W/s处理量

6.去掉select操作,使用默认db0

7.对高峰时的数据进行分析,40w/s的处理量中,ping操作占50%以上,调整jedispool的设置,基本上屏蔽了ping的操作

8.bolt端batch处理,减少写入量

9.40%的expire操作,测试ttl+expire vs expire的性能,基于ttl+expire的方式在一个操作里面的性能损耗在35%左右,

如果是同一个key在一个线程里面顺序操作会有性能的提升(目前我们没有这种场景)

1)直接expire

hardedJedis.set(key,value)

hardedJedis.expire(key,1000)

2)ttl+expire

hardedJedis.set(key,value)

Long re = shardedJedis.ttl(key);

if ((re == -1)||(re == -2)){hardedJedis.expire(key,1000)};

10.从第8点测试来看40%的expire操作是省不了了,只能从提高单次处理量(pipline)来做优化了

11.测试了lvs->twemproxy->redis的方案,不太稳定,考虑引用到的组件比较多,twemproxy相对来说对于我们这边也是一个黑盒

12.jedissharding的方案在高峰时会有一些延迟,单机方案相对来说比较稳定,如果接入数据量变大的话还是要走sharding模式,延迟的原因需要继续跟进

最后附几个监控图:

1.redis cpu

storm写redis问题小结

2.redis conns

storm写redis问题小结

3.redis command/s

storm写redis问题小结


名称栏目:storm写redis问题小结
文章URL:http://bjjierui.cn/article/jhgjso.html

其他资讯