大量 Apache 连接:没有用户尝试访问

大量 Apache 连接:没有用户尝试访问

如果我检查 top 命令,我会看到很多 Apache2 工作进程打开(通常空闲时最多有 10 个工作进程),并且消耗了大量资源。事实上,如果我在发生这种情况时访问该服务器中的 Web,加载速度会非常慢。

Apache 连接

但如果我执行 netstat 命令:

# netstat -ant | grep :80
tcp6       0      0 :::80                   :::*                    LISTEN

系统中没有用户(只有我尝试加载网站时的连接)

发生了什么事?我以为是 cronjob,但当时也没有 cronjob

是否有可能“调试”此类行为?

答案1

很可能之前存在 Apache 连接并且进程保持打开状态,这是 Apache 的标准做法。

根据您使用的 MPM(多处理模块)的不同,情况会有所不同,但可以通过修改相应的 mpm 配置来调整这些类型的设置。例如,我的服务器具有以下内容 -

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers       5
    MaxSpareServers      10
    MaxRequestWorkers     150
    MaxConnectionsPerChild   0
</IfModule>

MPM 负责处理连接,并在响应能力和资源利用率之间做出各种权衡。

相关内容