首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apache2.2响应问题

apache2.2响应问题
EN

Server Fault用户
提问于 2011-02-08 06:33:21
回答 2查看 225关注 0票数 0

我们有一些很重的文件(大约100 K)。

有时响应时间非常慢(100)。

为什么?

我是个糟糕的服务器管理员。

你能帮我吗?

资料如下:

  1. httpd一个进程有10 one
  2. RAM是4G

StartServers 300 MinSpareServers 10 MaxSpareServers 300 ServerLimit 1000 MaxClients 1000 MaxRequestsPerChild 9999

什么是最好的配置?MaxClients太多了吗?

EN

回答 2

Server Fault用户

发布于 2011-02-08 06:52:14

你的问题中几乎没有足够的信息让我有充分的帮助。不过,我可以为您的预叉配置提供一些提示。

首先,您确定httpd进程在整个过程中的权重为10 in吗?如果是这样的话,那是很好的,但这比我在实践中经常看到的要低得多,实践中的实际值从25 so到数百so不等(mod_php)。

假设httpd进程确实是10 to,那么ServerLimitMaxClients设置将允许Apache拆分1000x10MB的工作人员。这是10 of内存。你的机器没有这个,它会交换。如果你的机器在交换,那么你基本上就死在水里了,这可能是你所看到的缓慢的原因。

(使用topfreevmstat命令查看交换使用)

现在,您的其他设置-- StartServers --意味着您在启动Apache时正在增加3GB的apache工作人员。在一台4GB的机器上,这很可能不是你想要的。取决于操作系统的占用空间,您可以轻松地使用这个交换框。

对于您的应用程序,我绝对不知道其他任何事情,我建议您尝试以下设置:

代码语言:javascript
复制
<IfModule mpm_prefork_module>
    StartServers             10
    MinSpareServers          10
    MaxSpareServers          50
    ServerLimit             200
    MaxClients              200
    MaxRequestsPerChild    9999
</IfModule>

如果这还不够,并且由于Apache击打ServerLimit而导致请求开始下降,您可以尝试增加一点,但我不会超过300个。如果这仍然是不够的,那么您需要扩展水平(更多的web服务器)或垂直(更多的RAM)。

票数 2
EN

Server Fault用户

发布于 2011-02-08 10:51:38

这个问题很混乱。

服务器数量的正确值因配置和使用以及系统资源的不同而变化很大。

开始记录系统上的httpd进程数和空闲内存(您没有在什么操作系统上运行--如果是Linux,您将看到“free”命令中的第二行out )。绘制一个图表--注意,如果您到达空闲内存全部用完的地步--这意味着所有磁盘缓存都用完了--当您接近该点时,性能将迅速下降。

学习如何调整一个网络服务器会填满几本大书--在你开始看操作系统之前--这里的人愿意帮忙--但如果这对你来说很重要,那么你可能得花些时间去看更详细的这个问题。至少考虑买一本关于这个主题的好书,花点时间来了解自己。

这个配置看起来像是为了处理相对较高的流量--但是您应该真正考虑降低maxRequestsPerChild。

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

https://serverfault.com/questions/232512

复制
相关文章

相似问题

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