linux – 为什么apache一夜之间减速?

linux – 为什么apache一夜之间减速?,第1张

概述问候专家, 在我专用的CentOS 5.4服务器上,我使用大约十几个虚拟主机配置apache.我测试了一些’em,每个都在大约一秒钟内加载;相当快.负载平均值小于1.没问题.我正在运行静态HTML网站,一个带有MySQL 5.0的WordPress博客……这些不是高带宽网站;什么都不会强调这台服务器. 第二天早上,我上班,加载主站点,加载需要10到20秒.我检查服务器上的负载平均值,它在3左右徘徊 问候专家,

在我专用的CentOS 5.4服务器上,我使用大约十几个虚拟主机配置apache.我测试了一些’em,每个都在大约一秒钟内加载;相当快.负载平均值小于1.没问题.我正在运行静态HTML网站,一个带有MySQL 5.0的wordpress博客……这些不是高带宽网站;什么都不会强调这台服务器.

第二天早上,我上班,加载主站点,加载需要10到20秒.我检查服务器上的负载平均值,它在3左右徘徊,有时高达5,一旦看到它在8,从不低于2.此时我优雅地反dapache:

# apachectl -k graceful

大约半分钟,然后一切都很好.所有虚拟主机加载速度都快,不到一秒钟.负载平均值快速下降到1以下.

检查/服务器状态时,不是很多;检查网络流量(vnstat -l或vnstat -h)时,没有使用大量带宽.两者在一天开始时都是可比较的.然而,当我在早上检查它时,apache比整天快得多.一夜之间发生了什么让apache放慢速度并消耗了更多的系统资源?

# httpd -VServer version: Apache/2.2.3# uname -alinux myserver.com 2.6.18-92.el5 #1 SMP Tue Jun 10 18:51:06 EDT 2008 x86_64 x86_64 x86_64 GNU/linux# free             total       used       free     shared    buffers     cachedMem:       1025576    1017292       8284          0       8208      43160-/+ buffers/cache:     965924      59652Swap:      2096472     361012    1735460

我想我可以设置一个每天优雅地反dapache的cronjob,但这似乎是一个快速而肮脏的解决方案.我宁愿找到原因并解决这个问题.

更新2009-10-28 14:38;平均每5秒钟取5次采样:

$sar -W 10 30 && datelinux 2.6.18-92.el5 (myserver.com)   10/28/200902:32:36 PM  pswpin/s pswpout/s02:32:46 PM     10.31     30.4302:32:56 PM      2.30     32.9302:33:06 PM     21.56      0.0002:33:16 PM      1.80      0.0002:33:26 PM      5.69     26.6702:33:36 PM      0.10      0.0002:33:46 PM     25.70      7.6002:33:56 PM     10.61      7.1102:34:06 PM      4.10      2.6002:34:16 PM      0.70      0.0002:34:26 PM      0.00      0.0002:34:36 PM      0.00      0.0002:34:46 PM      3.80      0.0002:34:56 PM      0.00      0.0002:35:06 PM      0.00     11.0102:35:16 PM      7.70     30.3002:35:26 PM     20.32      0.0002:35:36 PM      1.60      0.0002:35:46 PM     11.60      0.0002:35:56 PM      2.50      0.0002:36:06 PM      0.00      0.0002:36:16 PM      3.60      0.0002:36:26 PM      0.00      0.0002:36:36 PM      0.00      0.0002:36:46 PM      0.00      0.0002:36:56 PM    445.20     56.6002:37:06 PM      0.00      0.0002:37:16 PM      0.00      0.0002:37:26 PM      0.00      0.0002:37:36 PM      0.00      0.00Average:        19.31      6.84Wed Oct 28 14:37:36 PDT 2009

奇怪的是,阿帕奇今天早上并不慢.昨天我对启动的服务器数量,num备用服务器,最大服务器数量等进行了一些调整.让我得到旧的价值并比较……

来自/etc/httpd/conf/httpd.conf的原始值:

StartServers      20MinSpareServers   20MaxSpareServers  120Serverlimit      256MaxClIEnts       256MaxRequestsPerChild  4000

从各方面来看,新的价值似乎都很好:

StartServers     30MinSpareServers  30MaxSpareServers  40Serverlimit      50MaxClIEnts       50MaxRequestsPerChild  4000

我可能会继续略微调整这些设置,但它们现在似乎运行良好.

Sar今天早上再次命令:

$sar -W 10 30 && datelinux 2.6.18-92.el5 (myserver.com)   10/29/200909:31:09 AM  pswpin/s pswpout/s09:31:19 AM      5.80     54.4009:31:29 AM     62.10      0.0009:31:39 AM      0.00      0.0009:31:49 AM      0.00      0.0009:31:59 AM      0.00      0.0009:32:09 AM      3.30      0.0009:32:19 AM      2.70      0.0009:32:29 AM      0.00      0.0009:32:39 AM      0.00      0.0009:32:49 AM      0.00      0.0009:32:59 AM      3.10      0.0009:33:09 AM      5.80      0.0009:33:19 AM      0.00      0.0009:33:29 AM      0.00      0.0009:33:39 AM      0.00      0.0009:33:49 AM      0.00      0.0009:33:59 AM      0.00      0.0009:34:09 AM      0.00      0.0009:34:19 AM      0.00      0.0009:34:29 AM      0.00      0.0009:34:39 AM      4.00      0.0009:34:49 AM      0.10      0.0009:34:59 AM      0.00      0.0009:35:09 AM      4.80      0.0009:35:19 AM      0.00      0.0009:35:29 AM    291.29      0.0009:35:39 AM      0.00      0.0009:35:49 AM      0.80      0.0009:35:59 AM      0.00      0.0009:36:09 AM      0.00      0.00Average:        12.78      1.81Thu Oct 29 09:36:09 PDT 2009

平均值实际上更低!服务器的流量比昨天多. Womble,看来你是对的!现在一切都在宇宙中很好.

John GardenIErs,好主意!它有-o [filename]开关.谢谢你的提示!

Jeremy Visser,dstat是一个非常好的工具!谢谢你的提示!它没有安装,不得不安装dstat.

解决方法 根据您的免费输出,我强烈怀疑您的Apache进程被大量埋藏在交换中. sar -W 1 0的输出将确认(或反驳)该假设(当机器运行缓慢时运行它).

如果Apache进程并非都是实际服务请求(如mod_status所示),则应调整“备用”子进程数(使用MaxSpareServers),以便更快地获得(因此不会消耗RAM).如果你真的需要你正在运行的孩子数量来满足请求负载的需求,那么你需要更多的内存(我还需要另外1GB的内存; RAM很便宜,诊断时间不长).

总结

以上是内存溢出为你收集整理的linux – 为什么apache一夜之间减速?全部内容,希望文章能够帮你解决linux – 为什么apache一夜之间减速?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/1039143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存