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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Gradle教程–基础篇

    Gradle教程–基础篇Gradle是什么Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。安装Gradle在AndroidStudio中新建项目成功后会下载Gradle,貌似这个过程不翻墙也是可以下载,但是访问特别慢,建议翻墙下载。那么下载的Gradle到什么地方呢,或者说Gradle的本

  • 遍历 ArrayList[通俗易懂]

    遍历 ArrayList[通俗易懂]packagecom.List;importjava.util.*;publicclassListTest{publicvoidlisttest(){Listlist=newArrayList();  list.add(“Hello”);  list.add(“World”);  list.add(“HAHAHAHA

  • 手机怎样复制一段文字_微信文章如何整篇复制出来

    手机怎样复制一段文字_微信文章如何整篇复制出来1、网页复制大家应该都遇到过这种情况吧像这种情况怎么办呢,很简单,方法也很多,最简单的就是就地取材。方法一:用翻译获取,我们用鼠标选择一部分后会自动出现翻译,没有出现翻译需要等一到两秒(如果实在没有可以往下看看别的复制方法),我们点击翻译然后会出现一个百度翻译,我们点击百度翻译它会自动跳转到百度翻译页面,我们可以直接复制就行了方法二:用网页控制台,我们F12打开控制台,F12打不开控制台的可以试试Fn+F12,或者右键检查,打开控制台后…

    2022年10月20日
  • mysql长轮询_ajax的轮询和长轮询

    mysql长轮询_ajax的轮询和长轮询概念:轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接。概念总是枯燥的,只有代码方能解心头之快前段代码:index.html:vargetting={url:’server.php’,dataType:’json’,success:function(res){console.log(res);}};//关键在这里,Ajax定时…

  • Fiddler+夜神模拟器进行APP抓包

    Fiddler+夜神模拟器进行APP抓包Fiddler+夜神模拟器进行APP抓包作者:霞落满天需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。工具:Fiddler抓包,夜神模拟器模拟手机安装APP1.下载Fiddlerhttps://www.telerik.com/download/fiddlerFiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信…

  • 带通滤波器原理及其作用_带通滤波器的设计

    带通滤波器原理及其作用_带通滤波器的设计一个带通滤波器是一个只有在特定频段的频率传递信号衰减这一频段以外的所有信号的同时,其目的是的电路。在一个带通滤波器的重要参数,高,低截止频率(FH和f升),带宽(BW),中心频率fC,中心频率增益,选择性或Q基本上有两个带通滤波器,即广通带和窄的带通滤波器的类型号不幸的是,两者之间的分线没有设置。然而,一个带通滤波器的定义是很宽的带通图的优点或品质因数Q值小于10,而与Q带通滤波器&g…

发表回复

您的电子邮箱地址不会被公开。

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