13
WEB 缓缓缓缓

Web缓存加速

Embed Size (px)

Citation preview

Page 1: Web缓存加速

WEB 缓存加速

Page 2: Web缓存加速

瓶颈发生的位置CPUI/O

磁盘 I/O网络 I/O内存 I/O

内存数据库

性能瓶颈

现象延迟阻塞

Page 3: Web缓存加速

缓存

缓存只是临时存储缓存的属性

命中率:从缓存中返回正确数据的次数 / 总请求次数。 容量:超过该值启用一定的策略:转移到磁盘;转移到远端;清空部分。

存储介质:内存、磁盘。 成本:开发成本、部署成本、硬件成本。 效率: SET 效率、 GET 效率、序列化、哈希算法、分布式算法。

缓存的限制 由于价格的因素,缓存实现依赖的存储往往有大小限制——保存什么,

舍弃什么,命中率。 缓存往往是从无到有的,在最初阶段不能发挥作用,在不命中的时候

性能颠簸。

Page 4: Web缓存加速

浏览器缓存

CookieHeader头控制表单缓存HTTP头Expires: Sun, 16 Oct 2016 05:43:02 GMTCache-Control: max-age=315360000Last-Modified / If-Modified-SinceETag / If-None-Match , yslow 在分布式系统中不推荐使用

Page 5: Web缓存加速

内存缓存

MemcacheTokyo Tyrant

opcode缓存:动态脚本加速• APC• XCACHE• Turck MMCache• ZendOptimizer• eAccelerator

Page 6: Web缓存加速

代理缓存

服务器端转发代理缓存cache-control : private

CDN网络内容发布商服务器端反向代理缓存 squid

Page 7: Web缓存加速

文件缓存

页面静态化Html xml json

smarty缓存配置文件缓存

Page 8: Web缓存加速

数据库缓存 ADODB 数据库冗余,逆范式 索引 存储查询缓存 QueryCache 连接线程缓存( Thread Cache ) 表缓存( Table Cache ) 表定义信息缓存( Table definition Cache ) 二进制日志缓冲区( Binlog Buffer ) MyISAM 索引缓存( Key Buffer ) InnoDB 日志缓冲区( InnoDB Log Buffer ) InnoDB 数据和索引缓存( InnoDB Buffer Pool ) InnoDB 字典信息缓存( InnoDB Additional Memory Poo

l ) 主从数据库 数据库集群

Page 9: Web缓存加速

常见的缓存模式和实现

常见的缓存模式和实现

Page 10: Web缓存加速

优化缓存及常见问题

影响命中率的因素提高命中率缓存的更新、过期和清除策略缓存的同步问题:同步的时间,同步的方式缓存中的颠簸

Page 11: Web缓存加速

收集的问题

图片类网站的缓存方案视频类网站的缓存方案

Page 12: Web缓存加速

时刻欢迎您的加入!

Page 13: Web缓存加速

谢谢!