注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Linux >> 网络管理 >> Linux服务器 >> Linux正文

网站故障处理记实:apache引起的麻烦

文章来源:IT168 作者:田逸 更新时间:2008-8-23 13:03:05 【 】 【加入收藏

    春节还没过完就接到同事的电话,说论坛访问速度慢,遭致用户强烈的投诉,要求我马上处理。这个bbs是运行在Redhat AS 5上,由apache、mysql、php和discuz组成,有129550位注册会员,同时在线的最高人数11128,按照当前的硬件条件,应该满足访问需求(新上线的HP服务器)。在浏览器输入论坛的url, 果然很慢,再联系朋友帮忙测试,打开网络还是很慢。

    恶意攻击?mysql瘫痪?

  先不管这么多,登录到服务器上去看看再做下一步打算。还好,登录比较顺利。运行命令uptime看系统负载,很低呀,再运行命令top,跟uptime得出的结论基本吻合,于是得出结论:系统负载不大。

  是否被恶意攻击呢?基于这个想法,察看系统帐号—打开文件 /etc/passwd,没看见任何异常;运行命令 iptables –L –n 发现防火墙规则仍按我当初设定的策略执行,这些迹象表明,系统不存在安全问题。

  那会不会是mysql的性能问题呢?用mysql客户端连接数据库,察看负载,其情况如下:
  mysql> show processlist;
  +---------+-----------+-----------+--------+---------+------+-------+------------------+
  | Id      | User     | Host   | db    | Command | Time | State | Info           |
  +---------+-----------+-----------+--------+---------+------+-------+------------------+
  | 1917230 | bbsdiscuz | localhost | discuz | Sleep   |  284 |       | NULL             |
  | 1917412 | bbsdiscuz | localhost | discuz | Sleep   |  223 |       | NULL             |
  | 1917442 | bbsdiscuz | localhost | discuz | Sleep   |  222 |       | NULL             |
  | 1917554 | bbsdiscuz | localhost | discuz | Sleep   |  205 |       | NULL             |
  | …………………..省略若干………………………..
  | 1918404 | bbsdiscuz | localhost | discuz | Sleep   |    0 |       | NULL             |
  +---------+-----------+-----------+--------+---------+------+-------+------------------+
  19 rows in set (0.00 sec)

  从输出结果看,连接数和保持时间也在正常范围内。以前曾经有过mysql数据库连接数过多(达到设定的最大连接数)及会话保持时间(Time)过长的事故,从而导致网站访问速度变慢,以至于无法忍受。由此分析,这个故障不是由mysql数据库所引起的。

  现在还剩下apache了,看来该怀疑一下它了。我们先看看有多少个httpd进程,其过程如下:
  [root@web1 ~]# ps aux | grep httpd | grep -v grep | wc -l
  256
  结果刚好是apache默认设置的最大连接数,再执行 [root@web1 ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  其运行结果如下所示:
  LAST_ACK 3
  SYN_RECV 628
  …………省略若干…………
  TIME_WAIT 524

  • 上一篇Linux:

  • 下一篇Linux: 没有了
  • 最 新 热 门
     AMD的OverDrive和CrossFire技术进驻Linux平…
     全球范围内Linux用户普及度数据
     openSUSE 11.1 Alpha 2发布
     为何SAP与Oracle排斥Ubuntu?
     Mcafee 将发布 Linux MID 平台的安全软件
     Mandriva Linux 2009 Beta2发布
     Ubuntu老大手下得力干将被Mozilla挖角
     火狐猛涨?新市场份额:Firefox VS IE
     红帽面临困境 被收购也许是好出路
     娱乐人物袁老:自由软件的伟大胜利
    最 新 推 荐
     网站故障处理记实:apache引起的麻烦
     一个完备的个人邮件解决方案
     教你完全免费自建Linux防火墙
     RHEL5下NFS服务器配置与应用
     Ubuntu8.04快速搭建nginx+php系统
     linux系统下cron运行php程序
     Apache下的目录共享访问和认证
     Ubuntu下配置PHP服务器
     Linux 服务器的远程控制技术及实战
     Apache虚拟主机快速搭建攻略
    相 关 文 章

    Linux调制解调器拨号上网故障排除
    Linux网络常见故障排除步骤
    Linux网络故障的解决问题的思路
    服务器维护:RHEL 5系统下故障处理方法
    Linux/unix下Vsftpd服务器故障排除
    虚拟磁盘Linux服务端测试及故障处理
    技巧:解析Linux系统下GRUB故障修复
    分析Linux系统计算机死机的故障原因
    PHP在大型网站开发中的一些问题
    新手学PHP和MySQL动态网站开发教程

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用