Dis*_*sco 1 capacity apache-2.2
我应该注意,我不是系统管理员。你很快就会明白这一点。:)
简而言之: Apache 在重载期间一直喘口气,所有进程都处于空闲状态。这是应用程序使用的轮询服务器。民意调查来自许多不同的端点。有时(每 4-5 分钟一次),如果我在看顶部,HTTPD 进程会同时空闲,导致流量停滞 10 秒左右。然后它会恢复。延迟是有问题的。
Apache 日志
有时,但并非总是如此(主要是在重新启动后),我会在 error_log 中收到这些消息。大多数情况下,当它发生时,我在 error_log 中看不到任何内容。
[Mon Jun 30 17:55:17 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers,或 Min/MaxSpareServers),产生 8 个子节点,空闲 31 个,总共 98 个子节点 [Mon Jun 30 17:55:18 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers,或 Min/MaxSpareServers),产生 16 个孩子,有 14 个空闲,总共 98 个孩子 [Mon Jun 30 17:55:44 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 8 个子节点,有 74 个空闲子节点,总共 99 个子节点 [Mon Jun 30 17:55:54 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 8 个子节点,有 61 个空闲子节点,总共 99 个子节点 [Mon Jun 30 17:56:00 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 8 个子节点,有 0 个空闲子节点,总共 97 个子节点 [Mon Jun 30 17:56:02 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 16 个子节点,有 36 个空闲子节点,总共 99 个子节点 [Mon Jun 30 17:56:03 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 32 个子节点,有 39 个空闲子节点,总共 99 个子节点 [Mon Jun 30 18:08:17 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 8 个子节点,有 18 个空闲子节点,总共 99 个子节点 [Mon Jun 30 18:08:18 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 16 个孩子,有 63 个空闲,总共 98 个孩子 [Mon Jun 30 18:08:19 2014] [info] 服务器似乎很忙,(您可能需要增加 StartServers 或 Min/MaxSpareServers),产生 32 个子节点,有 74 个空闲子节点,总共 97 个子节点
Apache 配置(旧配置已注释掉)
只显示我怀疑相关的配置项
#超时 60 超时 20 保持活跃 MaxKeepAliveRequests 1000 保持活动超时 2 IfModule prefork.c 启动服务器 85 最小备用服务器 85 最大备用服务器 100 服务器限制 100 最大客户 100 #StartServers 60 #MinSpareServers 60 #MaxSpareServers 85 #服务器限制 85 #MaxClients 85 MaxRequestsPerChild 1000 /If 模块
请注意,新旧配置在行为上没有区别。
环境 EC2、c1.medium、mod_perl、持久数据库连接、单独的RDS服务器、MySQL错误日志中无错误显示、Apache日志中无错误显示
顺便说一句,我已经看到了安装 mod-status 的建议,但我还没有想出如何去做,如果我这样做了,我不知道要寻找什么。
谜团已揭开。
万一其他人发生这种情况:Apache 和数据库服务器之间的网络连接(通过 LAN 接口在 VPC 内部)变得拥挤。将数据库服务器升级到更大的实例解决了这个问题(暂时)。
背景:亚马逊每 5 分钟为其时间点恢复功能拍摄一次数据库快照。它会下载 RDS 实例上的二进制日志来执行此操作。
每 5 分钟,二进制日志就会被传输一次(大概是到另一个 EBS),在我的情况下,传输阻塞了 LAN 接口。Apache 每五分钟等待一次网络连接时就会停止,并且连接会堆积起来,有些最终会中止。
归档时间: |
|
查看次数: |
12788 次 |
最近记录: |