前几天某个晚上23:30左右,突然出现网站无法打开的问题,详述情况如下,目前我不知道是遇到什么攻击,也不知道从何下手排查问题以及做防范措施?请有经验的朋友帮忙指点,非常感谢!我有两台FreeBSD服务器,
Server 1:Apache
Server 2:MySQL1,两台都有独立IP;
2,两台互连成一个LAN方式,Server 2只允许Server 1发起的数据库访问;
出现的问题:
1,输入网站域名后,速度非常慢,完全打不开一样,进度条一直缓慢前进,但页面一直空白;
2,有时IE的标题栏可以出现字,但是页面还是空白;
3,一直保持这种状态,不会显示无法连接之类的情况;
4,重启两台服务器后,状况还是一样;
5,MRTG记录当时的情况有很高的traffic,超过30Mb/s了!!!!截图如下:http://i3.6.cn/cvbnm/96/94/8f/b369a6e5e3465bce83fe2bce50a636a6.gif
(蓝线以上,是Server 1的情况,以下是Server2的情况)
6,没办法只有停掉Apache服务,也就是MRTG截图上traffic消失的一段,大概0:30~9:00;第二天开启服务,一切恢复正常。
其他情况:
1,能ping到服务器,且time值不高,也没怎么掉包;
2,从服务器上ping外部网站,并不觉得过慢;
3,SSH能连接上,从返回登入验证框的速度上看,并不觉得太慢,但登入后vi某些log文件,就产生断线;
4,当时TOP看服务器状况,没有高CPU和RAM占用的情况,从MRTG图上看也如此;
5,服务器上主要运行php程序,平时没有这种情况发生,服务器未提供视频或下载服务;
6,当晚的数据库备份包,体积较前日没有明显增加;
7,当天的Mysql日志文件,体积有所增加,因为其内未记录时间,所以也无法查起;我觉得MRTG图是比较重要的一个物证,希望有兄弟指点迷津,是遇到攻击了?我应该从哪里下手查?有什么可以操作,已防范再次出现这种情况?
谢谢!!!!!!!!!

解决方案 »

  1.   

    1. 测试一个到 Server 1 的页面,这个PHP页面中不包括访问MYSQL的任何语句。 这样以断定 Server 1 的性能如何。
    2。 如果测试1没有问题,则写一个简单的PHP页面,仅访问一个表,随便取几条记录,最好新建一个表,2个字段,5条件记录即可。以断定MYSQL服务器与APACHE服务器之间的通讯。和MYSQL本身的性能。
    3. 如果都没问题,则要仔细分析你的SQL语句了。
      

  2.   

    谢谢ACMAIN_CHM!我明白你的意思是检查是否是程序编写的问题。服务器上程序很多,也不知道从何查起这个:(不过,当时情况是这样的:1,当时我有打开一个纯HTML,用于redirect的页面,似乎很快就可以redirect走;但是redirect到程序页面就卡住了;
    2,当时的速度仅能够支持勉强连接SSH,没办法做简单PHP页面的测试;
    3,SQL语句在平时都没发生过异常的情况,且当时MySQL服务器表现得没有过高消耗服务器资源;
    4,比较明显的就是server1和2之间有很高的traffic,以及各自对WAN有很高traffic:(
      

  3.   

    1,当时我有打开一个纯HTML,用于redirect的页面,似乎很快就可以redirect走;但是redirect到程序页面就卡住了;
    至少说明,打开静态页面没有问题。3,SQL语句在平时都没发生过异常的情况,且当时MySQL服务器表现得没有过高消耗服务器资源;
    至少MYSQL服务没死机。4,比较明显的就是server1和2之间有很高的traffic,以及各自对WAN有很高traffic:(
    是不中APACH请求了一个比较大的记录集,比如 select * from table 结果返回上万记录。
      

  4.   

    4,我的服务器host的站点都是小站点,记录数不多的,也有上万行row的table,但是服务器运行几年,从来没有遇到这样的情况。我的疑虑是,为何MRTG上显示进出的traffic能上40Mb/s,而且持续时间还比较长。
    有没有可能不同搜索引擎的spider同时来爬站点? 但是应该不会吧,要爬以前也爬过,没有出现这样的情况,况且,真出现这种情况,有几个服务器能承受得住?
      

  5.   

    你说的这种情况也有可能。
    总之是找出怀疑,然后一个一个排除。这个你可以看看APACH的日志中有没有大量的访问。一般网站是限制同一客户IP提交查询的时间间隔,比如10s后才允许访问另一个页面。
      

  6.   

    你从图上看,有没有可能是受到攻击? 比如DDOS之类的?
      

  7.   

    先谢谢acmain,我再整理一些当时的MRTG的数据,有些疑问的地方,稍后发上来:)