小樱 发表于 2017/10/27 21:11

kangle旗舰版的普通缓存和智能缓存机制,他是怎么工作的,详解

普通缓存,需要在前台单线程完整访问文件一次后才进入缓存,默认优先走内存(内存越大,普通缓存效率越高,降低磁盘IO使用率),内存用尽后才写入磁盘缓存,如果遇到资源访问,从磁盘缓存调取出来到内存在输出http,配置差文件大的情况可能遇到HTTP等待
例如512M的VPS机器,访问一个已经缓存的1000M文件,可能长达十几秒的等待时长。
根据图片所示,这个1000M文件他已经从磁盘缓存写入了内存在输出


智能缓存,如同ngx_http_subrange_module模块,当然kangle启发更早,nginx是360后期的项目,使用智能缓存必须需要同时搭配普通缓存并且不能为0(http://bbs.itzmx.com/thread-18675-1-1.html),例如设置普通缓存2M,智能缓存2G(如果设置0代表完全关闭智能缓存)。
那么,超过2M的文件,就会启用智能缓存来进行缓存,他支持分布式range缓存,断点缓存更优秀。
并且,在访问已经HIT成功的资源,他是直接从磁盘输出(建议使用SSD配置,否则机械硬盘访问量大的情况下可能引起wa io拥堵高CPU占用),不会默认调用到内存在输出HTTP引起等待,非常适合大文件缓存,在线视频播放,直播等。
kangle支持同时设置普通缓存和智能缓存,普通缓存设置一个2M上限代表超过2M的文件,启用智能缓存模式,智能缓存模式上限2G,代表超过2G的文件不进行缓存。

如果需要从普通缓存转换成智能缓存,需要设置正确后,然后一定要清理一次所有缓存才会进行生效新的模式。

并且智能缓存在kangle 3.5.12新版开始已经对普通个人非商业用途用户免费开放了。

不可名 发表于 2017/10/28 16:22

图裂了。不过刷新一下又好了···
页: [1]
查看完整版本: kangle旗舰版的普通缓存和智能缓存机制,他是怎么工作的,详解