位置:设计主页 > 网站制作 > 建站经验 >

CDN加速方案的选择经验总结

来源:networkbench 作者:佚名 时间:2016-06-22 09:00

一、 CDN供应商选型测试:
CDN是一种解决互联网性能不佳问题的有效手段。 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳。目前,第三方CDN服务提供商有很多家,我们将面临如何选择我需要的CDN服务提供商。如果使用基调网络来监测,将如何实施?
市场上典型的客户CDN加速需求主要分为全站加速以及元素级加速两种。
1. 全站加速——将源站内容全部交与CDN厂商进行加速的方式。源站静态内容(图片、 CSS、脚本等)每隔一个固定周期由源站服务器主动推送(Push)到各个加速节点进行 内容更新同步或由各个加速节点从源站下拉(Pull)内容更新同步;而对动态内容的 请求则全部回到源站来操作,特别是与数据库的交互等等,而后该访问到的源站内容通 过页面缓存的方式保存到CDN节点服务器中,并根据设定的策略迚行定期的数据更新。
测试方法:
首先我们将配置多个二级域名,cdn1.xxx.com、cdn2.xxx.com、cdn3.xxx.com将其 做CNAME分别指向对应的CDN服务提供商;这些二级域名都指向同一个页面,在相同时 间段内进行为期一周的第一期测试,时间段需跨周末,测试频率建议为半小时一次;暂停 48小时后进行第二期测试。
2. 元素级加速——仅对站点的元素进行CDN加速。用户对目标站点的访问首先全部直接 连到客户自己的源站,进行HTML页面的下载等,而页面上所包含的元素例如JPG、 Gif、CSS等静态内容则通过就近CDN的节点进行下载。
测试方法:
首先我们将配置多个二级域名,cdn1.xxx.com、cdn2.xxx.com、cdn3.xxx.com将其 做CNAME分别指向对应的CDN服务提供商;这些二级域名都指向同一个大小为150K左 右的图片,在相同时间段内进行为期一周的第一期测试,时间段需跨周末,测试频率建议为 半小时一次;暂停48小时后进行第二期测试。
同一时间段各家CDN服务提供商加速同一图片保证测试基准相同。
选择跨周末的一周时间能够涵括周末和上班时间的不同,比较真实的还原国内互联网用 户的使用习惯。
暂停48小时可以让各家CDN服务提供商根据第一期的数据结果做调整,同时预留足 够长的DNS根域缓存更新安全时间,避免干扰二期测试。
此外针对于源站与CDN节点元素同步效率同样可以用基调网络的解决方案进行测试。 通过先后对源站及CDN节点的某一元素进行下载,获取其MD5码并进行比较。若MD5 码相等,则表示同步成功;码值并匹配则表明同步出现问题,需要引起关注。

二、 CDN选型后常态监测:
在确定CDN供应商后,鉴于CDN服务是一个黑箱服务,有其特殊性,同样需要了解到上 文曾提到的几块数据:
1) CDN布署后的展示性能为多少,是否有提升,提升幅度多大。
2) 提供了多少主机节点?
3) 这些主机节点分布在哪些区域和运营商?
4) 每台主机节点的性能如何,可用性是否稳定?
5) 目标客户是否正确命中对应主机节点,或匹配度是否合理?
6) 单台主机节点的覆盖范围或承载比例如何?
7) CDN节点不源站的同步效率做的如何?
8) CDN对元素的发布技术是否提供到位并长期有效?
9) CDN节点故障源站没有日志,如何对其进行及时报警?
因此对CDN供应商所提供的服务进行常态监控十分必要,可以帮劣站点了解CDN加速服 务情况以把控CDN供应商的服务质量,及时获知、排查各节点故障,获得更好的加速服务 幵能够通过数据配合CDN迚行页面持续优化,使其用户能有更好的用户体验。
根据CDN加速的类型(全站、元素、视频)等进行常态监控,监控频率建议为:
全站加速:30分钟一次
图片加速:30分钟一次
视频加速:1小时一次
基调网络的监测系统会将最终用户的数据汇总为图表和量化的数值以供我们参考,同时 基调网络利用多海量数据的分析经验结合知名互联网客户的需求制定了行业公认的各性能 指标标准值。
我们将利用标准值的对比知晓CDN加速后的效果:
201668100430857.gif (564×267)

三、 数据标准
使用CDN加速服务的最终目的是让最终用户的体验更快,在完整HTTP协议流的过程 中有很多的关键时间点,主要分两部分,网络层和应用层。CDN加速是直接作用于网络层 上,但应用层的瓶颈会较大作用于网络层,这部分需要网站站点自行解决。
1. 网络层性能标准:
201668100459445.gif (577×374)

DNS主要考量根据用户来源判断分配至主机的智能DNS解析性能。
建立连接时间主要考量服务器硬件的响应性能。
收到第一个包时间主要考量动态或回源的性能。
2. 主机匹配度:
201668100515244.gif (556×418)

3. 主机错误率:
201668100531050.gif (556×360)

错误分为两种,页面级错误和元素级错误,页面级错误优先级高于元素级错误。
201668100547607.gif (573×142)

4. 主机性能:
201668100636038.gif (546×475)

布署CDN服务后,CDN网络提供的节点数量、节点的性能、节点的可用性及节点的承载 量都可以在本报表中体现。
最理想情况下CDN各个主机性能都是一样的。但实际部署应用中很难达到这种理想状态。 基于我们的评测方法,将总体性能的均值与各个主机性能进行比较,若超过平均性能20% 以上的主机则表明性能很弱,有较大的优化提升空间。
此外需对每台主机分配到的访问量进行评估,若一台主机的访问量在0.5%以下则无需引起 关注。
5. 站点应用层性能:
应用层性能的变化对整体性能影响非常明显,应用层的性能对CDN的结果影响很大
201668100711081.gif (577×395)

6. 网站页面评估标准以及CDN相关元素发布技术:
201668100734127.gif (603×843)

四、客户提升案例
国内某知名IT企业使用基调监测作为CDN选型的第三方评测,将原站性能与商业CDN公司服务性能做对比,取得良好效果。
201668100752726.gif (585×435)

国内某大型CDN服务商在为sina做CDN加速服务过程中力求精益求精,对单一图片做原站和加速的性能对比,使7K的图片提升性能0.2秒。
201668100827491.gif (585×428)

某电子商务网站使用基调网络监测CDN的服务效果,使用CDN后页面性能从23秒提升至11秒,可用性从84%提升至99%。
201668100855780.gif (588×431)

某证券公司使用基调对CDN服务进行全面评测,各项指标均得到预期效果。
201668100912225.gif (517×310)