我不确定我错过了什么,或者忽略了什么。或者也许我只是没有正确思考问题。
我正在测试Nginx反向代理背后的Apache / PHP,(Nginx正在执行GZIP,KeepAlive和SSL)。
使用Apache Bench从同一本地网络中的另一台服务器进行测试可以在0.349秒内执行500个连接(100个并发)。但是,当我使用浏览器进行连接时,页面加载的时间线显示等待服务器响应的2秒钟。
我唯一能想到的是网络代理正在扮演一个角色(服务器在代理之外,因此我的浏览器请求通过代理)。我正在为编码获得'Vary-Accept'标题响应,这让我觉得可能是问题所在。但是,当我在计算机上使用WBOX时,它会返回2-30ms的响应时间。
有什么想法吗?
答案 0 :(得分:4)
所以,我解决了这个问题,希望这会有助于其他人。我在Nginx上正确禁用了缓存,并且正在通过无缓存标头,但是我在Nginx上启用了SendFile,这似乎导致它仍然缓存文件,无论我的设置如何。我禁用了这个功能,并清除了浏览器上的缓存,从那时起它一直在提出快速请求。
我不确定SendFile是否以与缓存相同的方式写入磁盘,这导致了问题,但是禁用确实解决了大量问题。