redis大量increment操作,导致TPS在2W/s达到瓶颈

问题现象:6台tomcat服务器 + 3台redis-cache + 2台redis-MQ的TPS仅有2W/s,和理论值6k(单台tomcat的最大值)有差距。

问题分析:tomcat、redis-cache、redis-MQ都有可能出现问题,通过增减机器的差异对比,缩小问题的范围。tomcat的应用服务器的资源指标正常,可能性不大。

问题定位:(1)增加一台redis-cache,TPS没有改观,初步断定redis-cache存在瓶颈。(2)查看redis的监控,发现4台redis-cache中有1台的CPU达到100%,其他3台都在80~90%,形成木桶效应。(3)代码分析:发现gain接口里面有大量的increment操作;热点key避免产生瓶颈落在不同的redis上,但increment操作时所有的机器都来竞争操作这个key,造成瓶颈。

解决办法:increment主要是为了实时统计领券量,并显示在看板上方便监控数据。非核心业务,可以去掉increment操作,改成通过elk日志统计。

redis大量increment导致接口瓶颈相关推荐

  1. java redis使用卡死_记一次找因 redis 使用不当导致应用卡死 bug 的过程

    原标题:记一次找因 redis 使用不当导致应用卡死 bug 的过程 作者:小木 my.oschina.net/xiaomu0082/blog/2990388 首先说下问题现象:内网sandbox环境 ...

  2. redis mysql 原子计数器_使用redis的increment()方法实现计数器功能案例

    一直知道redis可以用来实现计数器功能,但是之前没有实际使用过,昨天碰到一个需求:用户扫码当天达到20次即提示:当日扫码次数达到上限! 当时就想到使用redis的递增方法increment()来实现 ...

  3. redis 判断存在性_实战 | springboot+redis+拦截器 实现接口幂等性校验

    来源:https://www.jianshu.com/p/6189275403ed 一.概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如: 订单接口, 不能 ...

  4. 一个致命的 Redis 命令,导致公司损失 400 万

    转载自  一个致命的 Redis 命令,导致公司损失 400 万 最近安全事故濒发啊,前几天发生了<顺丰高级运维工程师的删库事件>,今天又看到了 PHP 工程师在线执行了 Redis 危险 ...

  5. prometheus监控redis(无metric接口)

    1,部署一个测试环境 [root@\ k8s-m-01~]# mkdir redis [root@\ k8s-m-01~]# cd redis/[root@\ k8s-m-01~/redis]# vi ...

  6. redis数据库c语言接口

    redis数据库拥有方便快捷的c语言接口,下面我将用程序操作redis数据库. 首先redis的c语言接口API是hiredis,下载地址为https://github.com/redis/hired ...

  7. 由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程

    由于Redis后门漏洞导致服务器被注入挖矿脚本解决过程 事件描述 某一天的早晨,我还是像往常一样搭着公交车开启打工仔的一天,一早8.30就到办公室了,坐着玩手机等上班,就这这时突然我组长飞快的回来办公 ...

  8. 腾讯天衍实验室夺世界机器人大赛双冠军,新算法突破脑机接口瓶颈

    日前,"2020世界机器人大赛-BCI脑控机器人大赛"公布成绩,腾讯天衍实验室和天津大学高忠科教授团队组成的C2Mind战队,经过多轮赛程的激烈比拼,实力入围BCI脑控机器人大赛& ...

  9. java redis自增操作_【转载】关于spring boot使用redis的increment()方法自增问题

    需求是限制IP频繁访问某接口,用的方案是使用redis记录访问IP的值,先设定好初始值,每次访问自增,达到某限定值后,进行阻止. 用的是自定义工具类,使用spring封装的spring-data-re ...

最新文章

  1. ApplicationContext||ApplicationContext与BeanFactory的区别||SpringContextUtil类的作用
  2. 网管日志-06.07.12
  3. Web.py Cookbook 简体中文版 - 用cherrypy提供SSL支持
  4. SpringBoot2.1.9 Mybatis由于@Mapper注解多数据源配置不生效问题
  5. 中国石油大计算机在线考试中心,中国石油大在线考试.doc
  6. [转载] scala
  7. golang中http协议实现
  8. 二叉查找树的类模板实现
  9. java测试字符串的编码_Java字符串测验
  10. 高恪新路由三硬盘_新路由3 newifi D2路由器刷机breed高恪固件详细教程
  11. Mac键盘突然失灵怎么办?别急,教你打开辅助键盘
  12. HTML打开eml文件,eml文件怎么打开?.eml是什么格式文件?
  13. golang 数组组合成最小的整数_整数数组拼成一个最小或最大的数
  14. JAVA计算平方,幂运算,三角函数等
  15. ​建行数据从Teradata迁移到Greenplum大揭秘
  16. QT+PCL+VS制作点云显示界面(彩色显示xyz点云)
  17. 天梯赛(c++) 古风排版
  18. Linux系统- Redhat7.6配置网卡team和网桥详解
  19. 2021年安全员-B证-项目负责人(广东省)复审模拟考试及安全员-B证-项目负责人(广东省)模拟考试系统
  20. java区分手机号归属地_JAVA手机号码归属地查询

热门文章

  1. 下载安装MicroStrategy 完整版
  2. 朋友圈小霸王游戏机源码
  3. 金融IC卡降级交易常见问题解答
  4. [ue5]关卡设计与地编_素材处理
  5. 王者服务器维护8月四日,8月4日体验服停机更新公告
  6. Vue-透传Attributes使用解析
  7. 电商系统设计MySQL_电商系统中的下单功能的mysql架构设计
  8. 三级联动:js实现淘宝地址更改
  9. 【毕设学习之转录组技术一:基因组成+转录流程】
  10. python ubuntu word txt 转pdf_ubuntu 下 python 将ppt,word 转换为pdf.