千家信息网

storm写redis问题小结

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,最近一直在跟进storm的问题,从storm集群的稳定性到监控到升级到bolt写redis的问题,因为公司目前没有专业运维redis的,只能我们数据部门自己搞了。。下面记录下遇到的几个问题:总结下目前
千家信息网最后更新 2025年01月23日storm写redis问题小结

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

总结下目前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

2.redis conns

3.redis command/s

性能 处理 监控 处理量 方式 高峰 问题 数据 方案 测试 单机 线程 延迟 损耗 最高 专业 公司 几个问题 原因 场景 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 合肥向宇互联网科技有限公司 工业网络技术专业院校 农牧民网络安全知识宣传视频 数据库修改和删除语句 网络技术属于计算机类么 软件开发项目节点图怎么画 云南朝花夕拾互联网科技有限公司 黄山餐饮软件开发定制 上海浦东互联网金融科技活动 网络安全需要防护什么 屏幕录制服务器启动中 数据库表中空如何查 电子科技大学研究生网络安全 路由器网络安全设置 什么是服务器带宽 方舟多人生存官方服务器 华为网络安全问题及对策 网络安全保障总体情况 表格数据库建立 职业院校劳务派遣软件开发 黄浦区市场软件开发制造价格 河北互通网络技术有限公司图片 计算机网络安全应用前景 虚拟光驱安装数据库 上海萧翔网络技术有限公司 中国国家数据库华大 大旗网络安全绘画 温州求索网络技术有限公司 数据库如何清理日志文件 cvk分析仪的软件开发
0