【问题标题】:apache requests very slow after using ProxyPass使用 ProxyPass 后 apache 请求非常慢
【发布时间】:2016-01-21 22:31:30
【问题描述】:

所以我在 Windows Server 2012 上的 Apache(2.4) 后面运行 Tomcat(8.0),并使用 ProxyPass 传递所有流量。一切正常,但是每当我在 60 秒内什么都不做,然后再次访问服务器时,我会延迟 8-20 秒,就像 apache 正在创建一个新进程来处理请求一样。

我的配置几乎是 Apache Haus 附带的默认配置,加上代理的东西,我认为这是罪魁祸首:

ProxyPass         /static/ !
ProxyPass         /  http://localhost:8088/
ProxyPassReverse  /  http://localhost:8088/

我添加了

/静态/!

豁免查看在提供的静态文件上是否会发生同样的问题,显然确实如此。我通过注释掉所有 ProxyPass 的东西来进一步缩小范围,并验证我的静态文件总是快速加载。然后我取消了 ProxyPass 的注释,只请求了我的静态文件,它又总是快速返回。但是一旦我点击了一个带我通过代理的 URL,等一下,然后再次点击它,就会出现可怕的错误。下面是两个请求的网络监视器输出,第一个静态文件在代理使用之前延迟 1 分钟后第二次请求,另一个在代理使用两次之后,代理请求之间存在延迟。

3501   4:17:48 PM 10/21/2015   104.2752287   httpd.exe   HTTP   HTTP:Request, GET /static/index.html 
3502   4:17:48 PM 10/21/2015   104.2760830   httpd.exe   HTTP   HTTP:Response, HTTP/1.1, Status: Not modified, URL: /static/index.html 

之后(8秒返回):

24232   4:26:13 PM 10/21/2015   608.7355960   httpd.exe   HTTP   HTTP:Request, GET /static/index.html 
24775   4:26:20 PM 10/21/2015   616.0896861   httpd.exe   HTTP   HTTP:Response, HTTP/1.1, Status: Not modified, URL: /static/index.html 

在 SynReTransmit 线最初被破坏后,我注意到它的更多内容,不确定它是否相关:

24226   4:26:13 PM 10/21/2015   608.7286692   httpd.exe   TCP   TCP:[SynReTransmit #24107]Flags=......S., SrcPort=61726, DstPort=HTTP(80), PayloadLen=0, Seq=1157444168, Ack=0, Win=8192 ( Negotiating scale factor 0x2 ) = 8192

但基本上每次调用,无论是静态文件还是通过代理,如果自上次调用以来已超过 60 秒,则需要永远得到响应!

有什么想法吗?

更新: 我运行的是稍旧的 Apache 2.4.12 版本,但更新到最新版本 2.4.17 并没有修复它。我尝试了各种keepalive设置,似乎没有任何帮助。在另一个论坛上,我被指向了这个 apache 开发线程,该线程有一个针对听起来类似问题的建议补丁,我想我会等待 apache 更新:

http://marc.info/?l=apache-httpd-dev&m=144543644225945&w=2

【问题讨论】:

  • 你解决了吗?
  • 不,我放弃并切换到 nginx 作为我的代理...

标签: apache tomcat proxypass


【解决方案1】:

尝试显式调整ProxyReceiveBufferSize:

# For increase throughput (bytes)
ProxyReceiveBufferSize 2048

【讨论】:

    【解决方案2】:

    在 httpd 配置中,添加以下行:

    AcceptFilter http none 
    AcceptFilter https none 
    EnableSendfile Off 
    EnableMMAP off
    

    就在这一行之后:

    Listen 80
    

    我的回复不到 2 次,但仍然比平时慢。

    来自https://www.apachelounge.com/viewtopic.php?p=26601

    【讨论】:

      猜你喜欢
      • 2020-01-17
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 2014-11-05
      • 1970-01-01
      相关资源
      最近更新 更多