网站使用CDN加速的优化建议_第1页
网站使用CDN加速的优化建议_第2页
网站使用CDN加速的优化建议_第3页
网站使用CDN加速的优化建议_第4页
网站使用CDN加速的优化建议_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网站使用CDN加速的优化建议China MetCenter 网宿科技2012-7-26网宿科技股份有限公司目录 TOC o 1-5 h z HYPERLINK l bookmark25 o Current Document 网站硬件架构部署推荐3 HYPERLINK l bookmark28 o Current Document 网站内容管理优化建议.4 HYPERLINK l bookmark31 o Current Document 动静态内容域名分离.4 HYPERLINK l bookmark34 o Current Document 页面静态化处理.4 HYPERLINK l boo

2、kmark37 o Current Document 按应用特性进行规类.4 HYPERLINK l bookmark40 o Current Document 网站网页结构优化建议5 HYPERLINK l bookmark46 o Current Document 多子域名时采取泛域名加速5 HYPERLINK l bookmark53 o Current Document 避免使用重新定向5 HYPERLINK l bookmark56 o Current Document HTTP Header头的配置项建议.6 HYPERLINK l bookmark59 o Current Doc

3、ument Header头选项配置建议.6 HYPERLINK l bookmark64 o Current Document 特殊标头配置建议.7 HYPERLINK l bookmark67 o Current Document 长连接应用(C onnection)头.7 HYPERLINK l bookmark70 o Current Document Keep-alive 头.7 HYPERLINK l bookmark74 o Current Document Vary 头7 HYPERLINK l bookmark78 o Current Document 其余注意事项8 HYPE

4、RLINK l bookmark81 o Current Document 获取最终用户IP8 HYPERLINK l bookmark84 o Current Document 通过 X-FORWARD-FOR9 HYPERLINK l bookmark87 o Current Document 防火墙91网站硬件架构部署推荐根据经验,对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务 器、负载均衡、CDN等之外,在软件架构上需要重点关注下面几个环节:使用高性能的操作 系统(OS)、高性能的网页服务器(Web Server)、高性能的数据库(Databse)、高效率的编程语言

5、、高性能的存储设备等,建议进行如下图示的平台构建(以下图片仅作架构示意):以上图片仅作架构示意如上图所示,通过各服务器群组之间内容调用的合理部署、任务的分配及各服务器群组 应用的单一化,使得网站可以应对大流量、大并发量同时增加了可管理性、稳定性及安全性。2网站内容管理优化建议2.1动静态内容域名分离静态内容相比动态文件来说,静态内容可以分发并缓存到各边缘节点上,本身需要的服 务器运算量也较小;而动态内容需要与源站服务器进行运算并处理。由于CDN的使用是以 域名为单位的,动静态分离后,静态内容使用专业的静态文件平台与静态文件缓存策略,动 态内容使用特有的动态应用加速平台。这样规划后,一方面可以更

6、加有效的进行负载均衡设 置,对存储和运算量进行优化;另一方面能够使域名管理更佳灵活,并且方便对内容的管理 和更新。因此,建议将jpg,gif,png等的图片格式、js、css、swf、htm、html等静态内容使 用单独域名发布,将需要源提供数据的动态内容使用另外的单独域名发布。例如:论坛, 博客、电子商务类客户,建议将其中的图片内容分离到新的加速域名下,以便在网站的访问 量达到一定程度时分别使用不同的加速平台,实现成本与加速效果的最优化。2.2页面静态化处理鉴于3.1的建议,可以进一步考虑将部分访问频率高的、重要的内容发布为静态页面。 如果无法全部用静态网页实现,应采取静动结合的方法来解决。

7、静动结合,有两方面的含 义:一方面是指,对于一些重要的、而且内容相对固定的网页制作为静态网页,如包含有丰 富关键词的网站介绍、用户帮助、网站地图等;另一方面,可以将动态实现的网页通过一定 的技术,在发布出来之后转化为静态网页,这种方式尤其适合于发布后内容无需不断更新的 网页(如新闻等)。2.3按应用特性进行规类为了便于后续在使用CDN加速时,更有针对性的配置个性化的缓存策略,建议把更新 频率相近、单个文件大小相近的内容统一采用不同的目录或域名进行规类发布;所有内容的 更新(包括新增、修改等)操作建议自动生成全新的URL,避免采用同名的方式做修改,这 样可以减轻后续维护网站的工作量。2.4网站网

8、页结构优化建议对于网站各页面的结构设计方面,可以参考如下几个建议将有助于网站页面打开有更好 的体验,如下:1) 单个页面的数据量大小控制在2M以内为最佳,总体http请求数控制在150个以 内为最佳;2)基于IE浏览器的工作原理,单个页面建议采用34个子域名对内容进行交叉调用, 提高IE浏览器对元素的并发调用;3)基于IE浏览器本身限制,对于js,css的加载,必须是以串行的方式加载,即必须等 前端的CSS及JS加速完成之后才加载后面的元素,所以CSS与JS的设计情况将直接影响整 个页面的加载速度,因此,建议做一定优化,减少CSS及JS的数量,少使用CSS嵌套,尽 量把JS放页面的后面加载。2

9、.5多子域名时采取泛域名加速子域名特多且都解析到同一个ip上时,就可以采用泛域名进行解析。1) 例如:*.域名需要做泛域名解析,解析到,泛域名别名我们会提供 一个泛域名别名接口,一般都为,通过此别名接口进行正常解析。当 数据进入CDN网络时,则通过我们内部DNS进行泛域名解析回源。2)网宿科技一一卓越的互联网平台提供商3)子域名源不一致时,不能配置泛域名解析4)有些DNS服务商不支持泛域名别名。2.6避免使用重新定向网站应尽量避免使用多个文件名标志同样内容的页面或文件。因为这将增加延迟,影响 用户访问体验,更重要的,它还可能给用户使用CDN服务后的内容刷新和同步工作带来一 些混乱。3 HTTP

10、 Header头的配置项建议31 Header头选项配置建议通过合理的配置http header选项的各项参数,可以实现有效的自主管理内容在CDN节 点上缓存时间,提高缓存的命中率,提高访问效果,一般需要配置的标准http header选项 如下图示:H已aiders ReceivedValue(Statue-Line)HTTP/1.1 ZOO OK白口已1Cache-Controlmax-age=5184000Connectionkeep-aliveCoriterit-Encoding冀ipContent-TypetextjcesDateWed, 25 Jul 2012 22:30:52 G

11、MTE冲怕55urij 23 5ep 2012 Z2;30;52 GMTLast-ModifiedHonj 27 Dec 2010 02:2&:47 GMTServerrigin::-::Transfer-EncodingchunkedVaryAccept-EncodingVi己ZW511231.1 5tsz74:S101 (Cdn Cache Server 72.0 1.1 st33:SOSO (Cdn Cache Server V2.0)如上图示可知,我们可以根据不同的内容及业务性质配置不同的header头参数,实现 控制内容是否可以缓存,应该缓存多久。几点建议如下:缓存的设置根据不同的格

12、式建议设定不同的值,对于静态文件如图片文件,应尽量 设置较长的缓存时间,只要确保没有同名更新即可;建议通过配置cache-control:max-age=*XX*,来设置文件的过期时间,CDN节点会 根据max-age来决定文件的缓存时间,而不是通过expries,同时这样可以让IE也缓存住文 件,在某种程度上也能提高访问速度。同时可能减少304回源请求,提高平台的性能。3.2特殊标头配置建议(特殊标头使用,http 1.1协议的特殊标头配置等)3.2.1长连接应用(Connection)头使用CDN时建议打开连接,connection配置为connection: keep-alive。Kee

13、p-alive 头对于keep-alive有做连接数限制的情况,将会导致CDN节点在回源时可能会受此连接数 的限制而影响回源获取数据,导致回源异常。该值可以通过keep-alive的max值来确认,一 般推荐修改到3000s以上,max值太小,容易出问题。Vary 头ETTP/1.0 2S0 0Kate: Frl, 17 Jul 2009 13:35:23 GMTServer;: Apdche/2.2.11 (Unix) DAll/2 PHP/5.2.?Iast-HodiflPd: Fri, 21 5ep 20BT 01:51:29 GUI:Tag: l,?2cii64-68e-43a9LS2

14、&76aJi9l,-gzip iccept-Ranges; tiijtes:ache-Control:spires: Sat, 17 JuL 对仰 13;35:29 CUTlary: Accept-EncDdingLse-r-AgcntContent-Encoding: gzlpK-Uft-Cunpatible; E=EmulateIE7 Content-Lengtri: 8 05Connection: keep-liue有的源服务器对于没有Accept-Encoding: gzip, deflate的请求,不返回vary头。根据HTTP协议,这意味着源不让代理服务器根据用户请求进行判断返回压

15、缩/不压缩的内容。这会导 致CDN返回非压缩内容给最终用户。为解决这个问题,需要修改源服务器配置,对于没有Accept-Encoding: gzip, deflate 的请求,也要返回 vary 头。4其余注意事项(cdn_src_ip, cookie,源服务器防火墙等设置)4.1获取最终用户IP1)通过Cdn_src_ip (该方法为我司默认提供的获取IP的方法)由于在您切换使用CDN服务后,由于您服务器实际收到请求为我司节点所发起的请求, 故无法依照之前的方式获取最终用户IP地址,如果您需要获取最终用户IP,则可根据您网 站编写的脚本语言自行选择下列代码。另外,需要注意的是以下代码需要在切

16、换后才能正式 生效,如未切换则可能导致获取IP错误。Php:$user_IP = ($_SERVERHTTP_CDN_SRC_IP);Asp:Java:String srcIp = request.getHeader(Cdn-Src-Ip);Asp(用 C#):String srcIp = Request.HeadersCdn-Src-Ip;A:如您用ServerVariables来获取参数,因为ServerVariables有编码解码的过程,因此应该用应 该用HTTP_Cdn_Src_Ip来获取变量,如:result = HttpContext.Current.Request.ServerVariablesHTTP_Cdn_Src_Ip;4.2 通过 X-FORWARD-FOR有些客户无法通过我司默认的CDN_SRC_IP获取,可以通过我司另外配置来获取,即: x-fo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论