PHP程序连接Redis报read error on connection问题

PHP程序连接Redis报read error on connection问题

 

线上PHP程序动不动就报PHP Fatal error: Uncaught RedisException: read error on connection错误,就是连接Redis在那么1秒钟有问题,我们的架构是:

PHP程序—>twemproxy代理—>Redis实例(5个节点)

PHP-FPM的超时时间是1s钟,也就是说如果PHP程序执行超过1s钟就会中断,另外由于Redis是单线程的,所以如果一个请求的时间太久就会造成Redis假死状态,接收不了其他请求,继而就会造成PHP程序连接报错。

首先接收到错误日志是在ELK上面,如下图:

PHP程序连接Redis报read error on connection问题

看一下报错的时间和报错数量,报错的数据有3000多个,而报错时间都在14:41分。

然后看了twemproxy的日志。

PHP程序连接Redis报read error on connection问题

可以看出执行时间都是1s多,肯定是不正常的,正常情况下一个Redis Get请求大概在20ms左右。同时可以看出twemproxy报错的后端服务器都是同一个(一共有5个后端)。

然后去172.18.129.135:6546这个实例上面查看慢日志。

看这条慢日志的时间刚好与ELK日志中的报错时间相同,同时执行时间为1.7秒。所以接下来就是找研发确定这个Key,改进问题。

PHP程序连接Redis报read error on connection问题

转载自:http://www.ywnds.com/?p=5556

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112948.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月27日 下午12:00
下一篇 2021年10月27日 下午12:00


相关推荐

  • 配置ssh免密码登录

    配置ssh免密码登录SSH SecureShell 是建立在 TCP TP 协议的应用层和传输层基础上的安全协议 SSH 保障了远程登录和网络传输服务的安全性 起到了防止信息泄露等作用 通过 SSH 可以对文件进行加密处理 SSH 也可以运行于多平台 一 配置 SSH 无密码登录的步骤如下 以下步骤都是在主节点 master 上操作的 1 使用 ssh keygen 产生公钥与私钥对 输入命令 ssh keygen trsa 接着按三次 Enter 键 生成私有密钥 id rsa 和公有密钥 idrsa pub 两个文件 ss

    2026年3月18日
    2
  • django textfield_微擎应用模块源码

    django textfield_微擎应用模块源码前言上一篇分析了请求模块的源码,如下:definitialize_request(self,request,*args,**kwargs):"""Retu

    2022年7月30日
    25
  • BatchMD5Modify_4F-MDMB-BUTINACA

    BatchMD5Modify_4F-MDMB-BUTINACA写前bb最早是看了matlab的代码,搭了环境,demo也跑了,就再也没碰过了。之后想自己把测试和训练部分全部跑通,找了个用pytorch写的代码,看的过程中发现自己还是很多细节部分不是很清楚。虽然文章写的很一笔带过,但是看着代码会发现还是很多疑问的。代码地址:gayhub代码的requirements:UbuntuPython2.7(useAnaconda2.*here)…

    2026年4月17日
    4
  • 二元正态分布,多元正态分布

    二元正态分布,多元正态分布对于两个随机变量 XXX YYY 若它们服从二维正态分布 则概率密度函数为 f x y 12 X Y1 2exp 11 2 x X 2 X y Y 2 Y 2 x X y Y X Y f x y frac 1 2 pi sigma X sigma Y sqrt 1 rho 2 exp left frac 1 1 rho 2 left

    2026年3月18日
    2
  • C语言字符串分割

    C语言字符串分割在C语言中,内置的函数库中除了可以用strtok()来对字符串进行分割之外,还可以用sscannf()对字符串进行分割。sscanf()包含的头文件stdio.h原型intsscanf(constchar*str,constchar*format,…)实例:#include<stdio.h>intmain(){ charbuf[]="…

    2022年4月30日
    60
  • 利用n8n与即梦AI实现全自动图文创作,打造7×24内容闭环

    利用n8n与即梦AI实现全自动图文创作,打造7×24内容闭环

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号