0

我不确定我错过了什么,或者忽略了什么。或者,也许我只是没有正确地思考某些事情。

我正在 Nginx 反向代理后面测试 Apache/PHP(Nginx 正在执行 GZIP、KeepAlive 和 SSL)。

使用来自同一本地网络中的另一台服务器的 Apache Bench 进行测试可以在 0.349 秒内执行 500 个连接(100 个并发)。但是,当我使用浏览器连接时,页面加载的时间线显示等待服务器响应的时间为 2 秒。

我唯一能想到的是网络代理正在发挥作用(服务器在代理之外,所以来自我的浏览器的请求通过代理)。我收到了用于编码的“Vary-Accept”标头响应,这让我认为这可能是问题所在。但是,当我在计算机上使用 WBOX 时,它会返回 2-30 毫秒的响应时间。

有什么想法吗?

4

1 回答 1

4

所以,我解决了这个问题,希望这对其他人有帮助。我在 Nginx 上正确禁用了缓存,并且通过了无缓存标头,但是我在 Nginx 上启用了 SendFile,这似乎导致它仍然缓存文件,无论我的设置如何。我禁用了这个功能,并清除了浏览器上的缓存,从那以后它一直在发出快速请求。

我不确定 SendFile 是否以与缓存相同的方式写入磁盘,这是导致问题的原因,但禁用肯定解决了很多问题。

于 2013-04-17T14:45:51.977 回答