赵舜东 高性能Web架构之缓存体系
2020-03-01 298浏览
- 1.
- 2.高性能Web架构之缓存体系 赵舜东 速云科技 GOPS 全球运维大会2017·北京站
- 3.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 4.讲师介绍 赵舜东 • 花名:“赵班长”,曾在武警某部负责指挥自动化的架构和运维工作,2008年 退役后一直从事互联网运维工作,历任运维工程师、运维经理、运维架构师、 运维总监。中国SaltStack用户组发起人、《SaltStack入门与实践》作者、《运 维知识体系》作者、Exin DevOps Master认证讲师、GOPS金牌讲师。 u 速云科技:https://www.linuxhot.com/u 运维社区:https://www.unixhot.com/GOPS 全球运维大会2017·北京站
- 5.从一个HTTP请求开始 1.用户浏览器发送请求经过网络到达Web服务器。 2.Web服务器处理请求,并响应数据。 4.用户浏览器接收数据,本地计算和渲染 GOPS 全球运维大会2017·北京站 3.响应数据从Web服务器发送到用户端
- 6.时间都去哪了? 发送 时间 发送时 间 数据量 比特数/ 带宽 GOPS 全球运维大会2017·北京站 传输 时间 传输时 间 处理 时间 传播距 离/传播 速度 响应 时间 如何缩短处理时间?
- 7.Web缓存知识体系 GOPS 全球运维大会2017·北京站
- 8.Web缓存知识体系 GOPS 全球运维大会2017·北京站
- 9.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 10.Buffer与Cache之争 Buffer:一般用于写操作,可以称之为写缓冲。 Cache:一般用户读操作,可以称之为读缓存。 GOPS 全球运维大会2017·北京站
- 11.什 么 是 Cache ? GOPS 全球运维大会2017·北京站
- 12.什 么 是 Buffer ? GOPS 全球运维大会2017·北京站
- 13.再次定义Buffer与Cache! lCache:一般用于读缓存,用于将频繁读取的内容放入缓存,下次再读 取相同的内容,直接从缓存中读取,提高读取性能,缓存可以有多级。 lBuffer:一般用于写缓冲,用于解决不同介质直接存储速度的不同,将 数据写入到比自己相对慢的不是很多的中间区域就返回,然后最终再写 入到目标地址,提高写入性能。缓冲也可以有多级。 GOPS 全球运维大会2017·北京站
- 14.Cache存放位置 • 客户端(浏览器缓存) • 内存(本机内存、远程服务器内存) • 硬盘(本机硬盘、远程服务器硬盘) GOPS 全球运维大会2017·北京站
- 15.内存文件存储之tmpfs • • 可用内存:62237-62156=81,可以证明我们放置的81M的文件是使用了内存空间。 共享内存:123-42=81,可以证明/dev/shm是Linux给共享内存使用的。 GOPS 全球运维大会2017·北京站
- 16.内存文件存储之tmpfs-使用方法 # mount -t tmpfs tmpfs /mnt/tmp # mount -t tmpfs -o size=1G tmpfs /mnt/mytmpfs # mount -o remount,size=512m /mnt/tmp GOPS 全球运维大会2017·北京站
- 17.内存文件存储之tmpfs tmpfs优势 典型应用场景 • 存储空间的设置和动态变化 • 反向代理缓存中,缓存目录使用tmpfs • 速度 • 将php的session文件放在tmpfs下 • 没有持久性 • 将服务的socket文件放在tmpfs下 • 4.其它需要高性能读写的场景 GOPS 全球运维大会2017·北京站
- 18.Cache几个重要指标 u Cache过期时间 u Cache过期检查、强制过期 u Cache命中率 GOPS 全球运维大会2017·北京站
- 19.一个面试题? 我们手机常用的一个功能:云备份(可以备 份你的图片和短信到云端),这样的功能需要使 用CDN加速吗?为什么? GOPS 全球运维大会2017·北京站
- 20.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 21.浏 览 器 DNS 缓 存 GOPS 全球运维大会2017·北京站
- 22.DNS Prefetch GOPS 全球运维大会2017·北京站
- 23.HTTP缓存协商 GOPS 全球运维大会2017·北京站
- 24.浏览器缓存位置 GOPS 全球运维大会2017·北京站
- 25.基于 Last-Modified 缓存协商 GOPS 全球运维大会2017·北京站
- 26.基于 Last-Modified 缓存协商 GOPS 全球运维大会2017·北京站
- 27.基于Etag 缓存协商 GOPS 全球运维大会2017·北京站
- 28.基于Etag 缓存协商-请求头 GOPS 全球运维大会2017·北京站
- 29.基于Expires 缓存协商 彻底消灭连接 GOPS 全球运维大会2017·北京站
- 30.你真的会刷新吗? 1. 在地址栏中输入网址后按回车或点击转到按钮。 浏览器会对所有没有过期的内容直接使用本地缓存,这个时候Last-Modified、 Etag、和Expires均不会受刷新的影响。 2. 按F5或浏览器刷新按钮。 浏览器会在请求中附加必要的缓存协商,这个时候Last-Modified、ETag就要受 影响,要发起缓存协商的动作,但是对Expires无效。 3. 按Ctrl+F5或按Ctrl并点击刷新按钮。 每次浏览器都发起一个全新的请求,不使用任何缓存。 GOPS 全球运维大会2017·北京站
- 31.如何不使用浏览器缓存? 1. 直接修改文件名 2. 使用时间戳http://www.example.com/js/code.js?20160101GOPS 全球运维大会2017·北京站
- 32.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 33.CDN 请 求 流 程 GOPS 全球运维大会2017·北京站
- 34.CDN关键技术 • 内容路由(请求调度) • 内容分发(PUSH(分发)、PULL(回源)) • 内容存储(内容源存储、Cache节点存储) • 内容管理 GOPS 全球运维大会2017·北京站
- 35.反向代理缓存现状 Nginx+Lua(Openresty) Squid Varnish GOPS 全球运维大会2017·北京站 ATS
- 36.Nginx反向代理缓存 GOPS 全球运维大会2017·北京站
- 37.Nginx 反 向 代 理 缓 存 GOPS 全球运维大会2017·北京站
- 38.Nginx 反 向 代 理 缓 存 GOPS 全球运维大会2017·北京站
- 39.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 40.Web服务器缓存 • 缓存动态内容输出(SSI慎用) • 页面静态化 • OpCode 缓存 • 应用程序本地缓存 GOPS 全球运维大会2017·北京站
- 41.页面静态化 GOPS 全球运维大会2017·北京站
- 42.Nginx FastCGI 缓存 GOPS 全球运维大会2017·北京站
- 43.应用代码执行缓存 GOPS 全球运维大会2017·北京站
- 44.PHP OpCache GOPS 全球运维大会2017·北京站
- 45.PHP OpCache缓存 PHP 5.5.0之前版本 1.使用APC(Alternative PHP Cache)扩展 2.修改php.ini增加extension=/full/path/to/php_apc.so 3.修改php.ini配置相关参数 PHP 5.5.0及后续版本 1.编译时增加--enable-opcache 2.修改php.ini增加zend_extension=/full/path/to/opcache.so 3.修改php.ini配置相关参数 GOPS 全球运维大会2017·北京站
- 46.Python pyc GOPS 全球运维大会2017·北京站
- 47.Memcached做数据库读缓存 GOPS 全球运维大会2017·北京站
- 48.Redis做数据库读缓存 Redis集群方案 • 客户端分片 • Proxy分片:Twemproxy、Codis • Redis Cluster GOPS 全球运维大会2017·北京站
- 49.目录 GOPS 全球运维大会2017·北京站 1 Web缓存知识体系 2 Buffer与Cache详解 3 DNS与浏览器缓存 4 CDN与反向代理缓存 5 Web服务器与分布式缓存 6 数据库与操作系统缓存
- 50.Oracle 体 系 结 构 GOPS 全球运维大会2017·北京站
- 51.MySQL缓存 GOPS 全球运维大会2017·北京站
- 52.操 作 系 统 缓 存 之 CPU GOPS 全球运维大会2017·北京站
- 53.Page Cache:Page cache是vfs文件系统层的cache。 读文件路径 磁盘块àBuffer CacheàPage Cacheà应用程序进程空间 Buffer Cache:Buffer Cache对设备数据的缓存。 GOPS 全球运维大会2017·北京站
- 54.GOPS 全球运维大会2017·北京站
- 55.GOPS 全球运维大会2017·北京站
- 56.Linux IO 架构 GOPS 全球运维大会2017·北京站
- 57.RAID卡缓存 GOPS 全球运维大会2017·北京站
- 58.物理设备-磁盘缓存 GOPS 全球运维大会2017·北京站
- 59.GOPS 全球运维大会2017·北京站
- 60.GOPS 全球运维大会2017·北京站
- 61.会议 培训 咨询 • 8月18日 DevOpsDays 上海 • EXIN DevOps Master 认证培训 • 企业DevOps 实践咨询 • 全年 DevOps China 巡回沙龙 • DevOps 企业内训 • 企业运维咨询 • 11月17日 DevOps金融上海 • DevOps 公开课 • 互联网运维培训 商务经理:刘静女士 电话 / 微信:13021082989 邮箱:liujing@greatops.com GOPS 全球运维大会2017·北京站
- 62.Thanks 高效运维社区 开放运维联盟 GOPS 全球运维大会2017·北京站 荣誉出品
- 63.想第一时间看到 高效运维社区公众号 的好文章吗? 请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好 GOPS 全球运维大会2017·北京站