我对 apache 子进程和客户端连接有一些疑问。
1、我的服务器上有100个apache2子进程正在运行,这是否意味着有100个客户端连接了服务器?
2,我已将Maxclient设置为200,当超过200个客户端长时间尝试连接服务器时会发生什么?
我之所以问这个问题,是因为有一天我的网络服务器没有响应。我重启了服务器,它工作正常。然后我从 zabbix 检查了进程历史记录,它显示 256 个 apache 进程正在运行 7 小时。
答案1
如果你的服务器上有100个apache进程正在运行,那就意味着有100个客户端连接到该服务器。
MaxClients 指令设置同时处理的请求数限制。任何超过 MaxClients 限制的连接尝试通常都会排队,最高数量取决于 ListenBacklog 指令。一旦子进程在另一个请求结束时被释放,该连接就会得到服务。
MaxRequestsPerChild 指令设置单个子服务器进程处理的请求数限制。在 MaxRequestsPerChild 个请求之后,子进程将终止。如果 MaxRequestsPerChild 为 0,则该进程将永不终止。
了解更多信息 :