我们有一系列需要10到30秒才能加载的页面,这导致我们的apache连接超过了最大连接数。由于这些页面是我们网站的子页面,数据不太重要,我们决定将它们引导到第二台服务器,我们不关心最大连接是否达到/超载。
为了实现这一点,我们在htaccess文件中使用了P
标志。在文档中说
使用[P]标志意味着[L] - 也就是说,请求会立即通过代理推送,并且不会考虑以下任何规则。
- http://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_p
有人知道在达到此规则时是否在父服务器上删除了连接,如果有这么多时间,是否会被删除?
如果父服务器上的连接仍然打开,这是一项毫无意义的任务。有没有更好的方法来实现这一点(除了重写慢速页面)?
有没有办法通过apache跟踪请求?比如在PHP中记录error_log
。
答案 0 :(得分:1)
在服务器上保存线程的目的毫无意义。
[P]表示代理,这意味着你等待第二台服务器的整个时间,第一台服务器上的一个线程都在等待转发响应 - 它仍然是中间人。
如果客户端可以直接访问服务器B,只需使用基本重定向([R]标志),这将至少将当前连接置于保持活动状态。