• 欢迎访问爱玩吧
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏爱玩吧

【阿里云】[业务架构实践]【分享业务场景】阿里云ECS日百万PV级页面秒开心得

建站资源 aiwanyule 9年前 (2016-05-11) 已收录

[业务架构实践]【分享业务场景】阿里云ECS日百万PV级页面秒开心得

【分享业务场景】日百万PV级页面秒开心得

业务应用:ECS

业务场景:单一页面的高并发高速访问请求

使用服务器配置:ECS1核2G4M

遇到的问题:有限预算内处理高并发低流量请求所遇到的矛盾。

解决方案:ECS+CDN+阿里云解析+Incapsula

客户某业务提供对不良网站的过滤,即当用户访问到非法网站时立刻返回警告页面。一个看似简单的警告页面,由于用户遍布国内外,要实现国内外跨地区、跨运营商的秒开显示着实令我们费了一番功夫。

因为需要调用后台数据,此页面用PHP语言编写,因此无法直接将其存放到静态CDN中直接访问。初期,我们采用1台ECS服务器专门用于展示警告页面,但很快发现,随着业务量的快速上升,对ECS服务器的带宽消耗愈发严重,一味的升级带宽或上SLB超出了现有预算,遂将该页面的图片文件和js文件迁移至又拍第三方公众CDN服务,这样一来,大幅降低了对ECS服务器的带宽占用,在有限的预算内解决了大文件的流量消耗。

与此同时,该页面的PV量已攀升至百万级别且海外用户也日益增多,我们测试发现海外用户在访问此页面时存在较为严重的延迟现象,因警告页面的特殊性,如果不能瞬间显示则失去了意义。随后在原ECS存放PHP页面+国内三方CDN存放静态文件的基础上,通过阿里云解析的智能解析功能将海外访问请求CNAME至Incapsula的节点,借助Incapsula全球CDN节点实现海外的快速访问。

但好景不长,我们紧接着发现尽管该页面访问迅速但完全加载完毕却耗时较长,特别是海外用户访问更是如此,通过pingdom发现,原来起初为了减轻CDN流量压力,我们将该页面的图片\js等静态文件分别存放于多个第三方CDN中,导致用户访问时,需要多次解析这些CDN的域名,大量的时间被浪费在这里。遂立即把图片和js等从第三方静态CDN服务中撤下迁回至ECS,而后使用反代式WAF/CDN服务对该页面做全局CDN加速强制缓存静态文件,使原本需要5-6次DNS解析的过程缩短至只需解析一次即可全部加载完毕,现在尽管每天高达百万次的PV访问,但该页面依旧加载十分迅速,且面对高访问量也无需频繁升级带宽。

通过这次反复折腾,得到的心得:

1.尽量避免多个CDN混用。

2.不要忽视CDN域名的解析延迟,CDN域名的解析延迟往往有可能抵消掉其所带来的加速效果。

3.如果图片文件不多、不大就尽量杜绝把这些小文件单独放在第三方CDN上,可以直接放在服务器中,使用反代式CDN做全局加速。

4.充分利用阿里云解析等智能DNS解析服务结合cloudflare、Incapsula做海外加速。

暂时就说这么多吧。

各位可以通过http://tools.pingdom.com/fpt/测试一下你们的网站页面访问速度得分,并找出是哪里拖慢了页面的加载速度。


爱玩吧 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【阿里云】[业务架构实践]【分享业务场景】阿里云ECS日百万PV级页面秒开心得
喜欢 (0)