我的 php 脚本等待远程门响应,通常为约 20 秒。它会导致 apache httpd 线程在打开 MySQL 连接的情况下驻留在内存中,并最终超过 MaxClients 值。如何管理以释放空闲资源,直到远程门响应。
一种解决方案是:1)运行远程门请求,然后将用户重定向到刷新到某些 url 测试数据的页面,2)在 nginx 配置文件中写入该 url 的规则:如果存在特定文件,则运行 apache 以提供数据 else show刷新页面。3) 远程门请求将数据保存在文件中
因此,我们从向远程门发出请求的脚本中取消了 apache 的链接,我们可以使其尽可能小。远程请求时,服务器仅由该脚本和来自 nginx 的轻请求使用。
所以这可能是一个很好的解决方案,但我想知道这种方法的缺点。并且可能有更好的方法。