alibaba/tengine — pull request #486 by pengshanzhou (2014-07-17 10:23:00+00:00)
Title: 在原有基础上实现了一个基于多种关联因素的 size_adjusted （根据文件大小差异权重可配置）动态自调整的多级LRU cache，一些环境下对比测试，性能有很大提高

1.对于1000个1KB的小文件和1M 的大文件，虽然总大小一样，但是nginx和后端就此传输代价不一样（测试时差在六倍左右，学生党，两个笔记本做测试所得） 基于此，我设计出基于多种关联因素的 size_adjusted （根据文件大小差异权重可配置）动态自调整的多级LRU cache。
2.通过动态的改变 每个层级的LRU 的max_size 达到更多的缓存 更有价值的文件。提高cache 性能
3.随机对比测试（测试环境为两个笔记本，磁盘一般） 改进后性能提高一倍， 测试情景简单表述：1000个1Kb的小文件和1M 大文件交替访问，后端一共有30000个小文件和30个大文件，一共测试100个总轮回，随机测试，（随机测试对磁盘不能跨度很大，否则笔记本的磁盘的寻道排队会成为瓶颈，生产环境的SSD或者其他磁盘会好很多，所以我的测试总的文件大小占据的磁盘空间不能很大（200M）否则大范围的随机寻道会带来大瓶颈）