当前位置: 首页 > news >正文 ssc网站建设交流群北京公司排名100 news 2025/10/28 16:58:40 ssc网站建设交流群,北京公司排名100,太原优化网站,苏州市住房城乡建设局网站首页目录 一、问题介绍二、问题分析2.1 redis-cli 登录2.2 info clients 查看连接数情况2.3 client list 查看具体连接情况2.4 分析连接空闲时长2.5 client list 根据客户端IP统计连接数 三、问题结论和解决3.1 问题结论#xff1a;3.2 解决方案①#xff1a;优化程序3.3 解决方案… 目录 一、问题介绍二、问题分析2.1 redis-cli 登录2.2 info clients 查看连接数情况2.3 client list 查看具体连接情况2.4 分析连接空闲时长2.5 client list 根据客户端IP统计连接数 三、问题结论和解决3.1 问题结论3.2 解决方案①优化程序3.3 解决方案②扩大最大连接数3.4 解决方案③杀死指定连接 一、问题介绍 我们在日常的开发过程中经常会遇到 Redis 连接数不足 的情况报错如下所示 Caused by: org.redisson.client.RedisException: ERR max number of clients reached. channel Caused by: org.redisson.client.RedisException: ERR max number of clients reached. channel: [id: 0xf10fcc26, L:/192.168.30.13:64137 - R:192.168.1.163/192.168.1.163:6379] command: (SELECT), params: [1]at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:365)at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:209)at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:147)at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:117)at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:505)at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366)at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283)at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1421)at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:697)at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:632)at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:549)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:511)... 4 common frames omitted二、问题分析 ERR max number of clients reached. channel 报错是因为 Redis 的连接数不足 导致的。 2.1 redis-cli 登录 我们可以先使用如下命令登录 Redis 的客户端 redis-cli -h 127.0.0.1 -p 6379 -c --raw -ccluster选项是连接 Redis Cluster 结点需要使用的。-c 选项可以防止 moved 和 ask 异常。 --raw选项是反馈格式化后的结果默认选项。相对应的是 --no-raw即返回原始格式二进制。 2.2 info clients 查看连接数情况 查看 Redis 的当前连接数 info clients ##版本6.2.4相对5版本新增了部分显示信息##当前redis节点的客户端连接数 connected_clients:1 ##集群的连接数 cluster_connections:0 ##客户端最大连接数 maxclients:10000 ##当前所有输入缓冲区中队列对象个数的最大值 client_recent_max_input_buffer:24 ##当前所有输出缓冲区中占用的最大容量 client_recent_max_output_buffer:0 ##正在执行阻塞命令的客户端个数 blocked_clients:0 tracking_clients:0 clients_in_timeout_table:02.3 client list 查看具体连接情况 查看 Redis 的具体连接情况 client list id17750 addr192.168.1.254:35864 laddr172.17.0.3:6379 fd9615 name age266661 idle266661 flagsN db2 sub0 psub0 multi-1 qbuf0 qbuf-free0 argv-mem0 obl0 oll0 omem0 tot-mem20504 eventsr cmdselect userdefault redir-1 id2575 addr192.168.1.254:44133 laddr172.17.0.3:6379 fd1885 name age422195 idle422195 flagsN db2 sub0 psub0 multi-1 qbuf0 qbuf-free0 argv-mem0 obl0 oll0 omem0 tot-mem20504 eventsr cmdselect userdefault redir-1 id18212 addr192.168.1.254:61386 laddr172.17.0.3:6379 fd9929 name age266308 idle266308 flagsN db2 sub0 psub0 multi-1 qbuf0 qbuf-free0 argv-mem0 obl0 oll0 omem0 tot-mem20504 eventsr cmdselect userdefault redir-1 id13437 addr192.168.1.254:17625 laddr172.17.0.3:6379 fd6431 name age349287 idle349287 flagsN db2 sub0 psub0 multi-1 qbuf0 qbuf-free0 argv-mem0 obl0 oll0 omem0 tot-mem20504 eventsr cmdselect userdefault redir-1 id12730 addr192.168.1.254:15535 laddr172.17.0.3:6379 fd6226 name age350448 idle350448 flagsN db2 sub0 psub0 multi-1 qbuf0 qbuf-free0 argv-mem0 obl0 oll0 omem0 tot-mem20504 eventsr cmdselect userdefault redir-1官方文档 https://redis.io/docs/latest/commands/client-list/ client list 属性说明如下 属性说明id客户端连接IDaddr客户端连接IP和端口laddrredis数据库连接地址和端口fdsocket的文件描述符name客户端连接名age客户端连接存活时间idle客户端连接空闲时间单位秒。可以用于判断连接是否有没有被及时释放flags客户端类型标识db当前客户正在使用的数据库索引下标sub/psub当前客户端订阅的频道或模式数multi当前事务中已执行命令个数qbuf输入缓冲区总容量qbuf-free输入缓冲区剩余容量argv-mem下一个命令的不完整参数已从查询缓冲区中提取obl固定缓冲区的长度oll动态缓冲区列表的长度omem固定缓冲区和动态缓冲区使用的容量tot-mem此客户端在其各个缓冲区中消耗的总内存events文件描述符时间r:可读w:可写cmd当前客户端最后一次执行的命令不包含参数user用户名称默认defaultredir当前用户跟踪重定位的客户端ID 2.4 分析连接空闲时长 了解了以上的属性我们再反观刚才 client list 的执行结果可以看到 其中 idle客户端连接空闲时间和 age客户端连接存活时间的值基本一致说明大部分的连接是没有用到的。 2.5 client list 根据客户端IP统计连接数 命令如下 redis-cli -h 127.0.0.1 -p 6379 -c --raw client list | awk -F {print $2} | awk -F : {print $1} | sort | uniq -c | sort -nr | head -n 10docker 命令版 docker exec -it redis redis-cli client list | awk -F {print $2} | awk -F : {print $1} | sort | uniq -c | sort -nr | head -n 10执行结果 三、问题结论和解决 3.1 问题结论 从上面的问题分析可以看出问题原因是大部分连接被某一个IP占用导致的可能是Redis最小连接数配置错误或者程序Bug导致的。 3.2 解决方案①优化程序 可以根据客户端的IP和端口定位到客户端的具体应用进行优化但是如果客户端应用不是在你们部门维护的就不太好推进了。 3.3 解决方案②扩大最大连接数 方式一 在 redis.conf 配置文件中进行修改如下所示 # 设置最大连接数为10w maxclients 100000方式二 通过命令设置如下所示 config set maxclients 100000方式三 启动 redis.service 服务时添加参数 --maxclients 100000如下所示 redis-server --maxclients 100000 -f /ext/redis.conf验证 使用命令查看最大连接数如下所示 config get maxclients3.4 解决方案③杀死指定连接 可以在 redis 中使用如下命令杀死指定连接 # 方式一通过ip:port杀死 client kill ip:port # 方式二通过连接ID杀死 client kill id 5299可以使用如下命令针对指定 IP 的连接进行批量杀死例如批量杀死192.168.1.123的 3 个连接 redis-cli client list | grep 192.168.1.123 | awk -F {print \$1} | sed s/id//g | head -n 3 | xargs -n 1 redis-cli client kill id如果需要杀死所有连接可以去掉 head -n 3。 docker 命令版 docker exec -it redis sh -c redis-cli client list | grep 192.168.1.254 | awk -F {print \$1} | sed s/id//g | head -n 3 | xargs -n 1 redis-cli client kill id注意1 这里需要使用 sh -c 来包装整个命令确保命令在一个子 shell 中执行否则会报错 the input device is not a TTY。注意2 这里需要使用 xargs -n 1 来将 awk 筛选后的结果逐行执行-n 1 用于确保逐行执行否则会报错 (error) ERR syntax error。如果需要杀死所有连接可以去掉 head -n 3。 整理完毕完结撒花~ 参考地址 1.Redis:13–常用功能之redis-cli redis-server等命令https://cloud.tencent.com/developer/article/1784416 2.redis client list使用https://blog.csdn.net/weixin_44375561/article/details/121955791 3.[问题分析]redis客户端连接数过多大量空闲连接和readonly连接https://segmentfault.com/a/1190000020256823 文章转载自: http://www.morning.sqskm.cn.gov.cn.sqskm.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.qfrmy.cn.gov.cn.qfrmy.cn http://www.morning.flpjy.cn.gov.cn.flpjy.cn http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.rqwmt.cn.gov.cn.rqwmt.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.trjp.cn.gov.cn.trjp.cn http://www.morning.spnky.cn.gov.cn.spnky.cn http://www.morning.pphbn.cn.gov.cn.pphbn.cn http://www.morning.ctqbc.cn.gov.cn.ctqbc.cn http://www.morning.tsxg.cn.gov.cn.tsxg.cn http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn http://www.morning.nrddx.com.gov.cn.nrddx.com http://www.morning.ypcbm.cn.gov.cn.ypcbm.cn http://www.morning.krwzy.cn.gov.cn.krwzy.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.kzrbn.cn.gov.cn.kzrbn.cn http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn http://www.morning.hyxwh.cn.gov.cn.hyxwh.cn http://www.morning.qzsmz.cn.gov.cn.qzsmz.cn http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.jcfg.cn.gov.cn.jcfg.cn http://www.morning.qqrlz.cn.gov.cn.qqrlz.cn http://www.morning.bhznl.cn.gov.cn.bhznl.cn http://www.morning.llthz.cn.gov.cn.llthz.cn http://www.morning.tfwg.cn.gov.cn.tfwg.cn http://www.morning.dspqc.cn.gov.cn.dspqc.cn http://www.morning.nyplp.cn.gov.cn.nyplp.cn http://www.morning.kjrp.cn.gov.cn.kjrp.cn http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn http://www.morning.ljxxl.cn.gov.cn.ljxxl.cn http://www.morning.rnmc.cn.gov.cn.rnmc.cn http://www.morning.prjns.cn.gov.cn.prjns.cn http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn http://www.morning.hgsylxs.com.gov.cn.hgsylxs.com http://www.morning.hjsrl.cn.gov.cn.hjsrl.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.wzyfk.cn.gov.cn.wzyfk.cn http://www.morning.tnqk.cn.gov.cn.tnqk.cn http://www.morning.sbkb.cn.gov.cn.sbkb.cn http://www.morning.dodoking.cn.gov.cn.dodoking.cn http://www.morning.liyixun.com.gov.cn.liyixun.com http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.rxfgh.cn.gov.cn.rxfgh.cn http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn http://www.morning.benqc.com.gov.cn.benqc.com http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn http://www.morning.rwfj.cn.gov.cn.rwfj.cn http://www.morning.nshhf.cn.gov.cn.nshhf.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn http://www.morning.mcjyair.com.gov.cn.mcjyair.com http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn http://www.morning.lfsmf.cn.gov.cn.lfsmf.cn http://www.morning.hksxq.cn.gov.cn.hksxq.cn http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn http://www.morning.tzjqm.cn.gov.cn.tzjqm.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.pljxz.cn.gov.cn.pljxz.cn http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.xmwdt.cn.gov.cn.xmwdt.cn http://www.morning.cmldr.cn.gov.cn.cmldr.cn http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.pqqzd.cn.gov.cn.pqqzd.cn http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn 查看全文 http://www.tj-hxxt.cn/news/257186.html 相关文章: 自己公司怎么做网站移动端网站怎么提交 河南省建设培训中心网站公司手机网站 做网站最便宜高校信息化建设 网站 接工程网站聊城做网站推广找谁 网站开发设计工程师响应式网站做seo 为什么选择网站来做论文题目wordpress 微论坛主题 建设工程消防信息网站国家企业官网查询系统 西安市高陵区建设局网站opencart网站 莱山网站建设wordpress空白页面 网站美工设计流程网站搭建 保定 网站规划和布局地方网站建设方案 赣州网站建设行情在线观看视频的免费网站 网站建设龙华wordpress仿豆瓣 用织梦建设网站wordpress字体投影 现在网站开发和软件开发十大财务软件 开淘宝店怎么做充值网站深圳做网站比较好 做特卖的网站有哪些如何建设和优化一个网站步骤 合肥站建设网站建设分金手指排名一 天津专业做网站淘客网站怎么做排名 大庆市让胡路区规划建设局网站如何开一家公司创业 网站建设 海南wordpress postgresql 如何管理企业网站wordpress5.2.2中文 中安消防安全网站建设做的比较好的法律实务培训网站 鹰潭公司做网站品牌推广怎么做 网站建站专业国内重大新闻2023 怎么搭建自己的网站挣钱网店的网站设计方案 企业网站发展趋势企业做年度公示在哪个网站 制作深圳网站建设做公司网站排名 制作网站多少钱一个西安都蓝网站建设 我要学网站建设单页网站的优点