设为首页收藏本站

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 157|回复: 0

kangle做中间源节点分发到边缘节点命中率为0,no-cache头部导致全流量未缓存直接回源

[复制链接]

签到天数: 2332 天

[LV.Master]伴坛终老

 成长值: 21400
发表于 2017/12/29 21:04 | 显示全部楼层 |阅读模式 |Google Chrome 63.0.3239.108|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
测试版本3.5.12.11
测试环境,(用户→kangle边缘节点→kangle中间源节点→kangle源文件服务器)
中间源输出HIT的情况
还会全流量回源取数据
想法是中间源节点是做CDN用的,增加中间节点,分发到所有边缘节点提高访问命中率

通过实际测试
好像是,带no-cache头部的话,一定会强制回源,而不是匹配中间源的现有缓存在输出缓存文件
期间磁盘缓存会变大,然后到HIT后,会覆盖变回原来的缓存文件貌似
这强制回源数据不合理啊
不是应该匹配文件最后修改时间之类么,或者etag等
测试是整个mp4文件都要重新回源取数据、就算中间源是HIT状态的情况下,只要浏览器带了disable cache,也就是头部信息带no-cache的时候
这肯定是BUG嘛,,输出HIT但是全流量回源
匹配下Last-Modified:多好,,而且html5的mp4有个独立的Range:bytes=22020096-元素请求头部,根据这个回显的Content-Range:bytes也可以做文件改动匹配吧。
最震惊的还是,,,只要中间源收到了no-cache,如果这次请求没有完成的话,会进入PART状态,这个文件下次在收到正常没no-cache的请求,也会导致部分回源←,反正只要中间源收到了no-cache请求,就会文件必须会完全重新更新一次就对了。


如果你确定文件不需要更新,在中间源的请求头部删了no-cache请求就行了,BUG等官方修复吧
1.jpg
attr填写
  1. pragma
复制代码

val(regex)注意留空即可

你以为上面真的能解决??实际上并不可能!!实测无效,等官方修吧。。只要收到一次no-cache后,就需要全流量缓存更新真的坑。
当然,估计使用强制缓存也可以解决这个问题,,但是就算不用的情况,,这肯定是有毛病吧。
对了,要复现要把边缘节点缓存清空,然后访问,正常情况应该是通过中间源取数据而不是还要回源吧

[发帖际遇]: 小樱 发帖时在路边捡到 3 樱币,偷偷放进了口袋. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 用百度帐号登录新浪微博账号登陆

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2018/5/23 01:15 , Processed in 0.513375 second(s), 44 queries , Gzip On, Memcache On.

Powered by itzmx!

© 2011-2018 sakura

快速回复 返回顶部 返回列表