前言

今天发现有一个数据延迟的很厉害,通过日志查看,日志2G的日志传输了半个小时的时间,导致最后分析延迟。是什么原因呢?

分析原因

通过日志可以查看到rsync日志同步的速度比平时慢了9倍。通过zabbix监控看到网络虽然比较繁忙,但是还没有达到瓶颈。所以猜测:丢包了!!!

ifconfig可以查看到一些网卡信息的汇总:

  1. # ifconfig em2 
  2. em2 Link encap:Ethernet HWaddr AC:85:3D:A9:03:0D 
  3. inet addr:1.1.1.33 Bcast:1.1.1.255 Mask:255.255.255.0 
  4. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
  5. RX packets:17141208886 errors:164254181 dropped:0 overruns:0 frame:0 
  6. TX packets:14685534428 errors:0 dropped:0 overruns:0 carrier:0 
  7. collisions:0 txqueuelen:1000 
  8. RX bytes:2619578349554 (2.3 TiB) TX bytes:1479317006067 (1.3 TiB) 
  9. Memory:94b00000-94b20000 

RX errors: 表示总的收包的错误数量,这包括 too-long-frames 错误,Ring Buffer 溢出错误,crc 校验错误,帧同步错误,fifo overruns 以及 missed pkg 等等。

500514388_banner

RX dropped: 表示数据包已经进入了 Ring Buffer,但是由于内存不够等系统原因,导致在拷贝到内存的过程中被丢弃。

RX overruns: 表示了 fifo 的 overruns,这是由于 Ring Buffer(aka Driver Queue) 传输的 IO 大于 kernel 能够处理的 IO 导致的,而 Ring Buffer 则是指在发起 IRQ 请求之前的那块 buffer。很明显,overruns 的增大意味着数据包没到 Ring Buffer 就被网卡物理层给丢弃了,而 CPU 无法即使的处理中断是造成 Ring Buffer 满的原因之一,上面那台有问题的机器就是因为 interruprs 分布的不均匀(都压在 core0),没有做 affinity 而造成的丢包。

RX frame: 表示 misaligned 的 frames。

对于 TX 的来说,出现上述 counter 增大的原因主要包括 aborted transmission, errors due to carrirer, fifo error, heartbeat erros 以及 windown error,而 collisions 则表示由于 CSMA/CD 造成的传输中断。

在梳理这些 error/drop/discard 的时候,由于涉及到不同的 NIC 型号,ethtool/netstat 或者是直接从 proc 里面获取到的数据所代表的意思还不完全一样,比如上面通过 ethtool 得到的「丢包」是通过 rx_queue_NUM_drops 这个字段表示的,而通过 netstat 看到的却是 RX-OVR 表示的,一个是 overruns 一个是 dropped,字面意思完全不同

  1. # netstat -i | column -t 
  2. Kernel Interface table 
  3. Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg 
  4. em2 1500 0 17159519100 0 0 164254181 14701510290 0 0 0 BMR 

信息来源

不管是使用何种工具,最终的数据无外乎是从下面这两个文件获取到的:

  1. /sys/class/net/em2/statistics
  2. /proc/net/dev 
  1. # cat /proc/net/dev | column -t 
  2. Inter-| Receive | Transmit 
  3. face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed 
  4. em2:2621515020998 17153788154 0 0 164254181 0 0 0 1480433225509 14696703883 0 0 0 0 0 0 

对于上面出现的若干种问题,一方面是做好监控,另外一方面是出现问题的时候及时的想到各种的可能,无外乎那么几种。

暂时处理

更新了网卡的驱动,对网络丢包进行了监控。当时出现丢包的具体原因还是不清楚,你是否有遇到过呢?

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2018-04-03 13:41:59
国内资讯 滴滴回应外卖故障:订单暴涨致服务器宕机
4月2日,有用户发现滴滴外卖出现故障,滴滴出行App中的外卖入口(无锡)被撤下。对此,滴滴方面回应称,昨日我们在无锡开启小范围灰度测试,受到用户大量关注,短期订单暴 <详情>
2018-04-02 11:21:54
云资讯 服务器解耦如何使云数据中心变得更高效
企业数据中心当前所采用的标准化服务器是浪费资源的,但未来的系统或将是可配置的,以便能够更好的匹配企业工作负载的需求。 <详情>
2018-03-26 09:21:31
云资讯 UCloud拟投18亿在内蒙古建数据中心 承载服务器约20万台
UCloud首席执行官季昕华介绍,落实到具体合作,UCloud拟投入18亿元在察哈尔开发区建设数据中心,承载服务器约20万台。该数据中心位置毗邻苹果公司iCloud 中国北方数据中心 <详情>
2018-03-26 09:19:13
整机柜服务器 CBRE:2017年云计算和数据中心提供商共花费200亿美元购买服务器
谷歌、亚马逊和微软正在购买数据中心方面支付大笔资金,以应对爆炸性云业务。 <详情>
2018-03-23 15:40:09
整机柜服务器 服务器被 DDos 攻击有效的处理方法
DDos防御需要根据不同的攻击类型和不同的攻击方式指定对应的策略才能达到最有效的防御。常见的DDos包括:Flood、CC和反射等。 <详情>