Redis CPU过高排查
Redis CPU过高
测试环境经常卡住,经过排查是鉴权的不稳定,鉴权又经过redis查询。来到redis机器,发现cpu100%。redis的锅
top

redis竟然cpu使用率达到100%
保存慢查询条数
config get showlog-max-len
设置慢查询条数
config set showlog-max-len 1000
查看当前已记录数量
slowlog len
查看已重新记录日志
slowlog reset
获取慢查询记录
slowlog get 100

查看慢查询日志。发现有好几个scan操作执行时间超过10000微秒,有些更甚高达20000微秒。这个意味,如果都是这样的操作,redis每秒并发性能只能达到50~100。很恐怖,redis号称每秒10万并发的呀。
设置慢查询游标(默认微妙)
config set slowlog-log-slower-than 1000
获取慢查询游标(默认微妙)
config get slowlog-log-slower-than
查看连接数设置
config get maxclients
查看当前客户端连接数
info clients

观测info命令数量
info commandstats

calls: 次数
usec: 总时间
usec_per_call:平均时间
scan调用次数为1.36亿,平均时间为1356.37微秒。这个意味,如果都是这样的操作,redis每秒并发性能只能达到1000。
查看monitor监控
redis-cli -h 127.0.0.1 -p 6379 -a password monitor > a.txt


记录5分钟的redis操作日志。统计一下redis一秒约850个请求。有750个是scan操作。破案了。scan模糊查询,大keys的锅。业务问题,剩下的就是改业务问题了。
redis info

Redis CPU过高排查的更多相关文章
- Java进程CPU使用率高排查
Java进程CPU使用率高排查 生产java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下.1.jps 获取Java进程的PID.2.jstack pid >> ...
- cpu iowait高排查的case
在之前的常见的Java问题排查方法一文中,没有写cpu iowait时的排查方法,主要的原因是自己之前也没碰到过什么cpu iowait高的case,很不幸的是在最近一周连续碰到了两起cpu iowa ...
- mysql CPU太高排查办法
[1]问题描述 首先,查看top,下图来自网络 为什么会有%CPU 375??? 还可以超过100%的? 这是因为,有多核CPU.如图,top后,按数字1,即可出现下图. [2]排查办法(当前CPU爆 ...
- erlang 虚机CPU 占用高排查
-问题起因 近期线上一组服务中,个别节点服务器CPU使用率很低,只有其他1/4.排除业务不均,曾怀疑是系统top统计错误,从Erlang调度器的利用率调查 找到通过erlang:statistics( ...
- JAVA服务cpu占用高排查
最近线上机器偶尔有台cpu达到100%,还居高不下.同样负载的其他机器却正常,我想肯定是代码哪里有问题了 首先我们top看下 可定位到对应占用高的PID 然后=>ps -mp PID -o TH ...
- Java线上应用故障之CPU占用高排查与定位
最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家 1.使用top命令,获取占用CPU最高的进程号 2.查看线程号对应的进程信息 命令:ps -ef|grep 22630 3.查看进程对应的线程信 ...
- JAVA 消耗 CPU过高排查方法
#找出cpu占用最高的进程top -H#再次确定进程ps aux|grep 17408 #查看进程的线程(tid) ps -mp 17408 -o THREAD,tid,time#将线程转换为十六进制 ...
- SQL SERVER占用CPU过高排查和优化
操作系统是Windows2008R2 ,数据库是SQL2014 64位. 近阶段服务器出现过几次死机,管理员反馈机器内存使用率100%导致机器卡死.于是做了个监测服务器的软件实时记录CPU数据,几日观 ...
- java程序——CPU过高100%及内存泄露排查
CPU过高 这类问题可以使用 top 命令观察一些,CPU 是不是都被 Java 程序占用了.比如下面这个截图: 服务器的 CPU 大多都被 Java 占用了.这正是我们之前生产上 CPU 过高的一个 ...
- 服务器CPU使用率过高排查与解决思路
发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况# mpstat -P ALL 2 1Linux 2.6.32-358.el6.x86_64 (linux— ...
随机推荐
- 生成 MFC ActiveX (OCX)时,报错:MSB801:未能注册输出
我们在生成 ocx 控件时,报错:MSB801:未能注册输出,如下图: 解决方法: 1.打开 项目属性 -> 链接器 -> 常规 : 逐用户重定向 改为 是 2. 重新生成 如果此时 ...
- 玩转HarmonyOS专项测试,轻松上架“五星”高品质应用
作者:David,华为测试服务专家 随着信息技术的高速发展,移动应用与人们生活日益紧密,面向各类场景的应用层出不穷,什么样的应用更受用户青睐呢?在满足用户功能需求之上,一个好的应用要能运行稳定.流 ...
- HarmonyOS 管理页面跳转及浏览记录导航
历史记录导航 使用者在前端页面点击网页中的链接时,Web组件默认会自动打开并加载目标网址.当前端页面替换为新的加载链接时,会自动记录已经访问的网页地址.可以通过forward()和backward ...
- 基于 Java 编程生成二维码图片
0x01 准备 (1)软件版本 IntelliJ IDEA 2023.1.3 JDK 18 Tomcat 10.1.11 Maven 3.8.6 (2)技术栈 servlet zxing 谷歌项目 生 ...
- Android 开发入门(3)
0x05 活动 Activity (1)启停活动页面 a. 启动和结束 从当前页面跳转至新页面 startActivity(new Intent(this, [targetPage].class)) ...
- js 按照字母进行分组
前言 js 按照字母进行分组的一个实例. 正文 var list = [ { 'name' : '张三', 'py' : 'zhnagsan' }, { 'name' : '李四', 'py' : ' ...
- swing 聊天窗体,支持图文模式
package com.*.test; import java.awt.EventQueue; import java.awt.HeadlessException; import java.awt.T ...
- Windows代理配合Burp抓取客户端+小程序数据包
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 在渗透测 ...
- Oracle 查询超级慢之buffer sort
查询超级慢之buffer sort 在视图中增加了一个临时表作为一个数据源进行id和名称的转换,没加的时候一秒不到,加了以后14秒,感觉有点问题,于是打开了解释计划看了下,发现这个buffer sor ...
- 力扣901(java&python)-股票价额跨度(中等)
题目: 编写一个 StockSpanner 类,它收集某些股票的每日报价,并返回该股票当日价格的跨度. 今天股票价格的跨度被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天) ...