![引入负载均衡器后,Apache 插槽已耗尽](https://linux22.com/image/711388/%E5%BC%95%E5%85%A5%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E5%90%8E%EF%BC%8CApache%20%E6%8F%92%E6%A7%BD%E5%B7%B2%E8%80%97%E5%B0%BD.png)
我有一个如下所示的 Web 应用程序:
WEB SERVER (PHP, Apache) -> MYSQL NODE
这项功能运行完美,没有任何问题,并且已经运行了很长时间。
但是,当我引入负载平衡器(我使用了 HAProxy 和 ProxySQL,两者的结果行为相同)来管理对数据库集群的请求时,我遇到了 Apache 停顿的问题。
负载平衡器与 Apache 一起安装在 Web 服务器上,并通过系统的环回设备进行访问。具体来说,Web 应用程序进行数据库调用,127.0.0.1:3306
而这正是负载平衡器监听的地方。
为了简化事情,这是我的新设置:
[WEB SERVER (PHP, Apache) -> LOAD BALANCER] -> MYSQL NODE
当负载变重时,我看到的是这样的:
PROMPT~] apachectl status ... ... WWWWWWWWWWWWWWWWWRWWRRWWWWWWWWWWWWWRWRWWWWWWWWWWRWWWWWRWWWWWWWWR WWWWWWWWWWWWWWWWWWWWWWWWWWRWWRWWWWWWWWRWWWWWWWWWWCWWWWWRWWWWWWWW WWWWWWWWRWWWWRWRWWRRWWWCWWWRWWWWWWWWRWWWWWWWWWWWWWWRWWWRWWWWWWWW WWWWWWWWWWRWRWWCWWWWWWRRWRWWWWRCWWWWWWWWWWWRWWWWWWWRWRWWWW
事实上,这种情况发生在多个负载均衡器上,这表明该问题更为普遍,并且可能与操作系统有关。
我没有看到 Apache、负载平衡器或数据库报告任何错误。
CPU 和内存等操作系统指标似乎没有问题。我确实在问题发生时看到以下指标出现峰值:
- TCP 套接字数
- Apache 进程数
我觉得我可能在这里遗漏了一些基本知识,如果能提供任何建议我将非常感激。
谢谢