用DigitalOcean下载了一个2个多G的EVE用来测试下DigitalOcean的G口是不是还想以前一样给力. 果然依然能到80MB/S
然后把EVE考到了DigitalOcean VPS的www目录用来从WeLoveServers新升级的G口上wget一下测试下DO的上传能力和WLS的下载能力, 结果却一直无法连上
等了好久返回出错页面
然后打开DigitalOcean上的探针发现, 每次下载请求发起时探针都会显示和"爆缸"一样. 然后换了BudgetVM的Xen依然是这个毛病. 认为可能是LNMPV里面Varnish在作怪. 于是查资料的时候发现下面Varnish的State Diagram. 收藏.
连接不成功和"爆缸"是由于Varnish的Cache的问题. Varnish尝试将这个2G的文件建立Cache导致崩溃. 解决方法如下:
在sub vcl_fetch里添加
if (beresp.http.Content-Length ~ "[0-9]{8,}") { set req.http.x-pipe = "1"; return (restart); } //不对10MB以上的文件进行Cache操作
在sub vcl_recv里添加
if (req.http.x-pipe && req.restarts > 0) {remove req.http.x-pipe;return (pipe);}
文章评论