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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POST、GET、@RequestBody和@RequestParam区别[通俗易懂]

    POST、GET、@RequestBody和@RequestParam区别[通俗易懂]@RequestParam注解@RequestParam接收的参数是来自requestHeader中,即请求头。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required表示是否必须,默认为true,必须。 defaultValue可设置请求参数的默认值。 value为接收url的参数名(相当于key值…

    2022年4月28日
    122
  • Java数组转Json数组「建议收藏」

    Java数组转Json数组「建议收藏」packagecom.cnic.test.coding;importcom.alibaba.fastjson.JSONArray;publicclassArrToJson{publicstaticvoidmain(String[]args){int[]my=newint[5];my[0]=0;my[1]=1;my[2]=2;my[3]=3;.

    2022年6月21日
    85
  • jrtplib接收rtcp_印象笔记是哪国的

    jrtplib接收rtcp_印象笔记是哪国的原博主博客地址:https://blog.csdn.net/qq21497936本文章博客地址:https://blog.csdn.net/qq21497936/article/details/84785284目录前话2019年12月6日补充JRTPLIB介绍CMake介绍JThread编译步骤一:下载JThread1.3.1并解压,如下图:步骤二:新建jthre…

    2022年7月28日
    4
  • pytorch安装-国内镜像源

    pytorch安装-国内镜像源在安装好cuda和cudnn之后安装pytorch的方法网上很多的方法都不是镜像下载,或者镜像下载因为系统的问题找不到库打开官网,找到对应合适的版本(cuda):https://pytorch.org/get-started/locally/之后复制下面这一行指令:condainstallpytorchtorchvisiontorchaudiocudatoolkit=11.0-cpytorch接下来就是关键一步了,把-cpytorch表示的pytorch源,更改为国内的镜像。

    2022年6月24日
    58
  • cubieboard学习笔记

    cubieboard学习笔记ubieboard学习笔记2014-05-09hginvent阅5345转16转藏到我的图书馆微信分享:入手开发板,刷机肯定是少不了的,就像我们平时刷安卓手机一样。开发板也有很多适配的固件。比如Cubieboard3Cubietruck就有安卓,debian,ubuntu等定制的固件。Cubieboard3Cubi…

    2022年7月22日
    12
  • 微信小程序快速接口编写

    微信小程序快速接口编写

    2021年9月17日
    90

发表回复

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

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