记录最近的几个bug
记录最近出的几个bug
connection reset by peer
最近服务器经常性的出现connection reset by peer的错误,开始我们只是以为小概率的网络断开导致的,可是随着压力的增大,每隔2分钟开始出现一次,这就不得不引起我们的重视了。
我们的业务很简单,lvs负责负载均衡(采用的是DR模式),keepalive timeout设置的为2分钟,后面支撑两台推送服务(后面叫做push),客户端首先通过lvs路由到某台push之后,向其发送推送消息。
客户端使用的是python request(底层基于urllib3),首先我很差异出了这样的错误竟然没有重试,因为写代码的童鞋告诉我会有重试机制的。于是翻了一下request的代码,竟然发现默认的重试是0,一下子碉堡了。
不过,即使改了重试,仍然没有解决reset by peer的问题。通常出现这种情况,很大的原因在于客户端使用的是keep alive长连接保活tcp,但是服务器端关闭了该连接。可是我们的服务器实现了定时ping的保活机制,应该也不会出现的。
然后我将目光投向了lvs,因为它的timeout设置的为2分钟,而reset by peer这个错误也是两分钟一个,所以很有可能就是我们的定时ping机制不起作用,导致lvs直接close掉了连接。
于是查看push自己的代码,陡然发现我们自己设置的定时ping的时间是3分钟,顿时无语了,于是立刻改成1分钟,重启push,世界清静了。
ifconfig overruns
push换上新的机器之后,(性能妥妥的强悍),我们竟然发现推送的丢包率竟然上升了,一下子碉堡了,觉得这事情真不应该发生的。通常这种情况发生在cpu处理网络中断响应不过来。但是我们可是妥妥的24核cpu,并且开启了irqbalance。
好不,用cat /proc/interrupts之后,发现所有的网卡中断都被cpu0处理了,irqbalance完全没有起作用。google之后发现,有些网卡在PCI-MSI模式下面irqbalance无效,而我们的网卡恰好是PCI-MSI模式的。
没办法,关停irqbalance,手动设置网卡中断的SMP_AFFINITY,一下子世界清静了。
总结
可以发现,最近出的几次蛋疼的事情都是在运维层面上面出现的,实际测试也测不出来,碰到这样的问题,只能通过log这些的慢慢摸索排查了。当然也给了我一个教训,任何error级别的log都应该重视,不应该想当然的忽略。
转载于:https://www.cnblogs.com/xiaowangba/p/6313746.html
记录最近的几个bug相关推荐
- [记录]mscorlib recursive resource lookup bug解决方法
[记录]mscorlib recursive resource lookup bug解决方法 参考文章: (1)[记录]mscorlib recursive resource lookup bug解决 ...
- 记录工作中第一次解决bug的小事
关于在openwrt中丢配置的问题 前一段时间,就是国庆节前一两天吧,我的导师带我们去实验室,任务就是改正测试部门发来的bug.本来分了我五个问题,但是因为我之前没有经验,所以着重改其中一个b ...
- 记录下UE4解决EQS Bug的过程
今天在做EQS测试的时候,出现了无法working的bug,逻辑很简单就是查询到一个点然后Move to过去.行为树在执行EQS这个节点来回闪烁无法Move to. 能想到出错的地方全部重新写了一下, ...
- 记录回家第一天的bug解决和心理过程
1.先说正事 背景:Mac下干净的环境,配置实验室工程所需开发环境,遇到了一系列的问题 工程是用Springboot+maven+vue组成的,使用的IDE是IDEA 问题1:在IDEA 下右边框里的 ...
- Android~记录material.tabs.TabLayout一个bug
在使用TabLayout过程中发现一个奇葩的bug,说我xml布局文件有问题. 1.完整log 2019-12-30 16:50:41.426 9068-9068/? E/ActivityThread ...
- 记录小程序 canvas fillText bug
前提 微信项目中要用canvas制作一张授权书, 如下这种: 在使用canvas进行渲染时, 发现会出现bug: 在安卓机上 姓名能显示, 手机号显示不出来 代码如下: ctx.font=" ...
- 记录-获取验证码失败-查找bug过程
如图:出现下面这个提示,刚开始我以为是哪里出现bug了 通过fiddler抓包发现,返回一个error code:11006 查看响应信息,就是前端请求成功,后端返回一个错误代码 最后排查出来错误了, ...
- 记录一次frp失效bug
突然frp连不上去了,发现硬盘占用超过98%,估计是硬盘塞满了,清理了硬盘就好了. 另外阿里云安全组记住开放 所有协议,不只是tcp协议
- 记录一个Python多线程的bug
错误代码 import time import requests from threading import Threadurl = 'http://127.0.0.1:5000/'def get_h ...
- 记录一些常用软件的bug踩坑及修复策略(长期更新)
1.Jade 339错误 报错内容: Run-time error '339*: Component ' THREED32. OCX"not correctly registered: fi ...
最新文章
- c语言大作业之镖行天下,天下识君--如何最快速度刷完天下识君
- ML之UL:无监督学习Unsupervised Learning的概念、应用、经典案例之详细攻略
- Python基础教程: import与from import使用
- 基于RadeonRays的光线追踪全局光照实现方案
- Oracle11gr2新增APPEND_VALUES提示
- pythonsocket自动化教程_Python基本socket通信控制操作示例
- SVN创建分支与分支合并主干
- incaseformat病毒分析
- 【知识积累】Edge vs Fog Computing 边缘计算和雾计算的相同与不同
- 华为ensp配置AC+AP多个SSID信号
- 【面经】京东搜索广告算法一面
- 网易游戏AI Lab 招聘CV日常实习生
- Excel批量合并相同内容单元格操作——WPS太秀了
- 国外网站打开非常慢,什么鬼?
- 未来的电子计算机作文300字,未来的校园科幻作文300字(精选3篇)
- Linux 桌面虚拟化技术 KVM
- 及时反馈,让员工尊重你,信任你
- 计算机不识别u盘咋办,电脑无法识别u盘如何修复,电脑不识别u盘怎么办
- struct timeval结构体 以及 gettimeofday()函数、struct timespec结构体
- 计算机基础——5.2 图像与图形
热门文章
- Oracle中INSTR函数,及在DB2、Sybase中与Instr函数功能相同的函数
- 撩开云计算神秘面纱之阿里云弹性计算服务篇
- asp.net如何定时执行任务
- iOS The run destination iPhone is not valid for Running the scheme ‘项目名‘
- iOS: OC/Swift使用CocoaPods生成Podfile文件、安装第三方SDK
- 使用Dom4j创建xml文档
- stm32GPIO8种模式
- 网站静态化与mysql优化
- QBackingStore::flush() called with non-exposed window, behavior is undefined
- 精心整理 | R语言中文社区历史文章合集(作者篇)