使用循环DNS后端的Apache mod_proxy连接池

时间:2016-09-19 15:53:04

标签: apache mod-proxy

根据mod_proxy documentation

  

首次创建到原始域的套接字时,会发生DNS解析。使用连接池时,每个后端域仅在每个子进程中解析一次,并重新用于所有进一步的连接,直到子进程被回收。在规划涉及后端域的DNS维护任务时,应考虑此信息。还请检查ProxyPass参数以获取有关连接重用的更多详细信息。

代理ELB后端时,这就成了问题。 ELB节点在循环DNS下。这意味着Apache可以最终将请求转发到不再活动的ELB节点。

此问题的一个解决方案是使用设置disableReuse=On的代理平衡器禁用连接重用。这迫使Apache为每个代理请求打开一个新连接。

一旦请求数超过每秒500左右就会崩溃。此时连接池变得至关重要。

有没有办法利用代理连接池,同时还会定期重新解析后端的DNS?

是否有办法限制Apache工作人员处理的请求数量 - 从而导致新工作人员启动并重新解析DNS?我注意到MaxRequestsPerChild现在是MaxConnectionsPerChild,由于连接是持久且持久的,因此不能完成工作。

我目前的解决方案是安排定期正常重启Apache。

0 个答案:

没有答案