Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2809817
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2014-09-11 15:02:40

刚刚到公司,看到老板邮件:

The website speed of l***b was very low. It takes 16s to open an article. Could you please take a look? There is no problem for D** and g***z

显然是告诉我l***b网站的访问速度慢
开始我怀疑是l***b被清空memcache所致,我们机器上有个脚本每6个小时清空一次memcache的缓存,

于是登录zabbix监控系统查看,发现网络流量比平常大;
见附件:

显然网络流量突然增大,查找原因呗,开始我使用goaccess,没有像上一次那样有效,查不到那个地址占用太多的流量!
于是不得已手动分析l***b的日志文件, 我已经查到了l**.com_access.log文件是最大的日志文件,于是:

tail -n 10000  l**.com_access.log  | awk  '{print $1}'| sort | uniq -c | sort -nr     | head

结果查到几个ip,死马当活马医啊 ,将这几个ip 在防火墙给drop 掉了,结果流量一切如常!比较郁闷啊 ,如何才能查到流量大的源头?我原来看到过iptraf工具,据说很不错,我试了下,比较难上手,刚好和bob聊天,顺便咨询下了他,得知iftop比较好用!
于是安装iftopyum不行的,只好源码了,安装过程中遇到问题如下:

checking how to call gethostbyaddr_r... 8 args, int return

checking gethostbyaddr_r usability... yes

checking where to find pcap.h... no idea

configure: error: can't find pcap.h

  You're not going to get very far without libpcap.

[root@db1 iftop-0.17]# yum -y install  libpcap-devel

即可configuremakemake install

web服务器上,有如下的显示:



显然外面的client并没有给web服务器多少流量,流量主要发生在web和db之间,到底webdb之间发生了什么?

于是在db服务器上,执行tcpdump

tcpdump -s 1500 -w tcp.out port 3306

strings tcp.out>a.txt

vi a.txt 发现有很多的insert into b***te 语句,并带有duplicate key的字眼。
见附件:

数数数目:

就几分钟的时间,这么多不成功的insert的,会不会是它引起的?

有个cron job里的shell里面执行php程序,shell脚本每分钟运行1次研发沟通后,将cron job注释掉(当然需要研发同事去查找原因),db和web的流量都恢复了正常:
web:

db:



iftop的相关说明,摘之互联网:

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

过了大概10天左右,查看网络流量如下:

阅读(1794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~