美文网首页
记录一次网络异常问题的排查

记录一次网络异常问题的排查

作者: 4a9354b9a9e6 | 来源:发表于2017-10-13 18:54 被阅读0次

问题背景

在一次现场硬件部署实施过程中,实施人员突然发现网络大批量请求超时的情况,在确认现场网络通畅的情况下,立刻通知给了我们开发人员。经过调试,发现所有接口均出现了断断续续无法访问的情况,基本上完全处于不可用状态。出现这种情况第一反应是网络问题,因为线上机房位于位于电政办,之前有过网路不稳定的情况,在电话沟通后得知对方此时网络也异常慢,此时已无力吐槽这贷款了。

但是问题真的就只是网络带宽这么简单吗?

通过Zabbix排查问题

线上集群几乎每个节点都部署了Zabbix集群监控,通过NetWork监控项可以排查网络问题,大体流量图如下:

Zabbix网络监控

可以发现,除了部分时刻网络流量骤增之外,大部分时间还是比较平稳的,其中绿色代表incoming流量,蓝色代表outgoing流量。根据此图(主要是没有流量断点)可以大致判断并非完全是由于网络问题导致的问题。

但是再仔细想想,整个系统采用的是分布式架构,各节点间的调用均通过RPC调用,只有几个节点是对外通过Nginx代理访问的,也就是说Nginx节点入口是导致问题的关键。然而遗憾的是Nginx节点上并没有部署Zabbix,只能手动排查了。

发现真实问题原因

首先在Nginx节点上执行已下命令

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'

可以发现等待请求在不断增加,说明有较多请求阻塞了。很自然的联系到Nginx的配置,

这里修改了worker_processes 、worker_connections配置,重启Nginx,再次执行命令,此时发现阻塞的请求数量有所下降,但是还是一直不断的在增加。

好吧到这里基本已经开始怀疑服务器跟带宽已经跟不上了,但是究竟是啥请求在一直访问呢?

执行netstat -t查看一下,发现所有的请求均来自与39节点,该节点上最近刚刚部署了C/S端的程序,于是通知C部门排查,最终确认了问题。停掉C/S端后,其他请求陆续恢复了正常。

相关文章

  • 记录一次网络异常问题的排查

    问题背景 在一次现场硬件部署实施过程中,实施人员突然发现网络大批量请求超时的情况,在确认现场网络通畅的情况下,立刻...

  • iOS 前端记录api访问异常 并回传服务器

    很多时候,用户会反馈网络访问异常。但那时候其实服务器访问都正常,并没有看到什么异常报错。故无法排查这些异常问题...

  • Cannot find executable for CFBun

    问题描述 Xcode Console 中有 异常 Log 问题排查 经分析,Console 中 异常 Log 的都...

  • netty线上问题排查

    记一次压测异常排查

  • java异常信息打印的正确姿势

    一、说在前面的话相信很多人都会使用logback对异常打印日志,本文主要是通过一次问题排查,过程漫长曲折,特此记录...

  • 网络问题排查

    一、NDS域名解析失败问题排查 域名配置生效之后,部分用户反馈可以访问到,部分用户反馈无法访问到。 示例域名:op...

  • 网络问题排查

    背景 在实际工作中经常遇到网络不通的情况,着时候就需要具备方法能够排查出网络故障节点。本文教一种抓包方法,帮助确定...

  • “Application rejected by queue p

    排查问题1.上面的报错与队列相关2.CDH yarn界面问题排查队列生成的样子异常

  • 记一次异常FullGC的问题排查

    最近在排查服务JVM的FullGC超过1s的问题。查证后发现并不是Old Gen空间不足时导致的GC,而是其他情况...

  • 一次网络超时问题排查

    背景 技术栈基于finagle,scala与java混合编程。 历史遗留问题,目前http接口调rpc默认走zk随...

网友评论

      本文标题:记录一次网络异常问题的排查

      本文链接:https://www.haomeiwen.com/subject/qqwayxtx.html