首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache和高负载avg

Apache和高负载avg
EN

Server Fault用户
提问于 2010-06-30 17:29:10
回答 3查看 755关注 0票数 2

我有一个奇怪的问题,我不知道如何进一步分析-有一个相当轻的网站运行在一个相当好的盒子(Xeon,4Gb内存,SATA)。从访问日志判断,每秒大约有120个请求。

负荷平均。在一个盒子里,几乎是随机的在5到20之间跳跃,但是很少会下降到10以下。CPU利用率在70%左右,并且是相当一致的。有很多apache进程,它们似乎都锁定了导致负载的某件事情。要跳到15以上,我不知道怎么找出他们锁定的是什么。

我可以使用什么来查看apache进程本身以及它阻塞的位置?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-06-30 17:34:33

限制其中一个正在运行的进程可以帮助您

代码语言:javascript
复制
netstat -n |grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

(可能需要调整45-取决于linux的版本)

或者也许:

代码语言:javascript
复制
tail -n 10000 access.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

你有什么繁忙的IP吗?

如果CPU是70%,这意味着它是计算负载而不是文件锁。我怀疑一个php脚本正在进行大量的计算以显示一个页面。如果您看到服务器的IP在任何一个列表中都很高,则可能是递归包含。或者,如果包含(‘http://localserver.com/file.php’);有时这会使加载更高,因为php必须通过套接字包含该文件。

你在接近MaxClients吗?apache错误日志中有什么吗?

票数 2
EN

Server Fault用户

发布于 2010-06-30 17:54:08

在顶部查看时,是否有任何apache进程占用了大量cpu?如果是这样的话,试着把他们中的一个勒紧,看看它在做什么。它会提供相当多的噪音,但是,您可能会看到一个模式。您可以使用strace -p processid来查看它,然后在末尾控制-d,并有一个名为typescript的文件,该文件也包含所有信息。

我怀疑您有一个php应用程序,它可能正在消耗大量的CPU,或者做大量的计算,甚至是一些简单的事情,比如遍历一个包含数万个文件的文件的目录。还可能有一个mod_rewrite正在执行许多重定向。基于cpu负载相当恒定这一事实,它可能是锁定文件的东西,但是,看起来更像是有递归的抓取,或者根据某人命中页面触发的东西。

票数 1
EN

Server Fault用户

发布于 2010-07-01 20:45:15

根据op的注释,您应该调整“保持活动超时”,在默认配置中,这些超时通常很高。

此外,如果每秒有那么多连接,并且保持存活超时时间很高,则会遇到文件描述符耗尽的风险,这可能会导致io等待。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/156379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档