5

我在 apache 服务器上使用 http keep-alive,可以
说我要求它保持连接打开最多 2 分钟......
现在,如果创建连接并空闲一分钟,php 持有的资源,
如 mysql连接、文件句柄等将被释放还是它们也会继续存在?

4

2 回答 2

3

确认的。Keep-Alive 是一种防止代价高昂的 TCP 连接协商的机制。您的 PHP 进程/线程正常启动,需要像往常一样分配所有资源。

对于高负载情况,甚至保持保持活动期不要太高可能是明智之举:所有连接请求都会竞争服务器的空闲连接槽。如果所有插槽都被 keep-alive 连接使用,其他用户可能无法连接。

但是,像往常一样,最佳插槽数量和良好的保活期取决于您的特定负载情况。

于 2011-02-16T01:15:21.640 回答
1

不,http keep-alive 节省了 tcp 连接的资源。php 和 mysql 甚至不会意识到连接是打开的,当你发出下一个请求时它会很快,因为时间花在解析 ip 地址上,并且打开新的 tcp 连接将被保存所有这些东西都保留在 apache 中。

于 2011-02-15T07:16:33.817 回答