一次由于网卡流量跑满引起的服务器丢包总结

  最近收到线上一台DB服务器ping丢包,丢包率一直在30%左右。通过Zabbix监控查看了服务器CPU,内存都很正常,网卡流量也不高,基本在100M左右。
wKiom1ekGFCBE0nWAAHfgGoPDTk656.jpg-wh_50

  首先确认一下服务器硬件是否正常,由于没有收到硬件报警。登录服务器通过HP管理工具在此确认了硬件信息都正常(硬盘,缓存卡,内存等)。
  第二步在排查一下系统问题,通过top,ps等命令也没有发现什么异常,基本上排除系统问题。
  第三步查看了一下该服务器上联监控机端口流量,也都很正常,由于收到只有这一台服务器报警,也排除了上联交换机故障问题。
  最后向同事咨询了服务器承载业务类型,每2分钟会同步大量的数据文件到该服务器上面,然后用sar命令查看一下网卡流量,发现发送流量瞬间在12万KB/s,换算成b/s基本上在940-950Mb/s,意味着千兆网卡流量基本上爆满,才会引起服务器ping丢包。
wKioL1ekGHTRDUfnAAGPak_j6LQ842.jpg-wh_50
  由于我的监控是每5分钟抓一次,所以对应服务器瞬间高流量都没有获取到,还得优化一下监控时间间隔。

下面顺便总结一下sar命令常用的选项,sar命令行的常用格式如下:

sar 选项 取样时间间隔 输出次数

1)查看CPU信息,1表示1秒钟取一次值,2表示采集2次数据。

[root@monitor ~]# sar -u 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
10:51:39        CPU     %user     %nice   %system   %iowait    %steal     %idle
10:51:40        all      0.08      0.00      0.17      0.00      0.00     99.75
10:51:41        all      0.21      0.00      0.21      0.00      0.00     99.58
Average:        all      0.15      0.00      0.19      0.00      0.00     99.67

输出项说明:

CPU          all 表示统计信息为所有CPU的平均值。
%user        显示在用户级别(application)运行使用CPU总时间的百分比。
%nice        显示在用户级别,用于nice操作,所占用CPU总时间的百分比。
%system      在核心级别(kernel)运行所使用CPU总时间的百分比。
%iowait      显示用于等待I/O操作占用 CPU 总时间的百分比。
%steal       管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle        显示CPU空闲时间占用CPU总时间的百分比。

2)查看网络接口信息。    

[root@monitor ~]# sar -n DEV 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
11:04:22        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:04:23           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth0    140.40    170.71     98.07     84.00      0.00      0.00      2.02
11:04:23         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:23         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
11:04:23        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:04:24           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth0     40.59     26.73     41.62      4.17      0.00      0.00      0.99
11:04:24         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:04:24         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0     90.00     98.00     69.56     43.69      0.00      0.00      1.50
Average:         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

输出项说明:

IFACE        网络设备名
rxpck/s      每秒接收的包总数
txpck/s      每秒传输的包总数
rxKB/s       每秒接收的字节(byte)总数
txKB/s       每秒传输的字节(byte)总数
rxcmp/s      每秒接收压缩包的总数
txcmp/s      每秒传输压缩包的总数
rxmcst/s     每秒接收的多播(multicast)包的总数3)查看磁盘1/0信息。

    

[root@monitor ~]# sar -b 1 2
Linux 2.6.32-358.el6.x86_64 (monitor)     08/05/16     _x86_64_    (24 CPU)
 
11:07:55          tps      rtps      wtps   bread/s   bwrtn/s
11:07:56        11.11      0.00     11.11      0.00    129.29
11:07:57         6.93      0.00      6.93      0.00     63.37
Average:         9.00      0.00      9.00      0.00     96.00

输出项说明:

tps       每秒钟物理设备的I/O传输总量
rtps      每秒钟从物理设备读入的数据总量
wtps      每秒钟向物理设备写入的数据总量
bread/s   每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s   每秒钟向物理设备写入的数据量,单位为 块/s

  总结:在系统运维的过程中,一般关注服务器的下面指标。
  CPU使用率:如果服务器CPU使用率超过80-85%,说明服务器CPU处理能力比较繁忙,需要提升CPU性能。
  CPU iowait:如果服务器CPU iowait的值大于5-10%,说明磁盘I/O存在瓶颈,需要提升硬盘的读写速度。
  网卡流量:网卡流量和上联交换机和服务器网卡都有关系。如果系统和网络都正常,服务器出现丢包,应该考虑网卡的吞吐率是否达到上限而出现的丢包。




优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.51cto.com/sfzhang88/1834696

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。