2013-04-12 97 views
0

我不确定我错过了什么,或者忽略了什么。或者,也许我只是没有正确地思考一些事情。Nginx反向代理服务器背后的Apache/PHP比预期的要慢

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

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

我唯一能想到的是网络代理扮演一个角色(服务器在代理之外,所以来自浏览器的请求通过代理)。我得到'Vary-Accept'头文件的编码响应,这让我认为这可能是问题。但是,当我从计算机使用WBOX时,它会返回2-30ms的响应时间。

有什么想法?

回答

4

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

我不确定SendFile是否以与缓存相同的方式写入磁盘,并且导致了问题,但禁用确实解决了大量问题。