使用CDN提升网站访问速度

使用CDN能显著提升网站访问速度,目前国内CDN厂商众多,价格也不是很贵,还有一些提供一定额度的免费流量。对于中小型网站来说,开启CDN的成本还是可以接受的。

CDN的全称是Content Delivery Network,即内容分发网络。CDN网络包含分布在各地的加速节点,这些加速节点按照一定的缓存策略存储源站的业务数据。当用户请求业务内容时,CDN网络会选择最优的服务节点快速响应请求,大大降低用户访问延迟,提升用户体验。

大概在几年前,easeapi.com曾尝试使用过360提供的免费CDN服务,那时的CDN服务还比较粗放,可以自定义的选项很少,这可能是因为免费提供,在功能上有阉割(但好像也没有提供付费的方案)。在使用CDN后,网站的静态资源倒是加速了,但是访问API之类的动态接口却出现了问题。联系客服之后被告之像这样有动态内容的网站是不适合部署CDN的。

这个事情给我的留下的刻板印象就是:CDN虽好,但仅限于加速静态网站。但现在的大多数网站都有动态内容,这样的CDN的意义何在?

这段时间我对目前市面上主流的CDN服务商做了了解,发现支持动态内容已经是CDN的标配。以阿里云为例,不仅支持动静态混合内容的全站加速,还具有WAF防护,防护CC攻击等功能。头部CDN厂商在软件功能上区别不大,主要区别还是在CDN网络节点数量、质量、带宽等硬件资源上。硬件资源的差别可能要到很大流量时才能在一些指标上有差别,对于流量不大的网站来说,可能最主要关心的还是CDN的价格。目前市面上有一些免费的CDN可以选择。

百度云加速

百度云加速提供有10G/天的免费流量,适用于非营利性个人站,对于流量不大的中小型网站来说,这个免费额度已经足够了。使用百度云加速需要上传手持身份证照片进行身份认证,我不愿意上传就没有实际体验。

七牛云

七牛云提供有10G/月的免费流量,但仅限于HTTP流量,HTTPS流量需收取费用。

腾讯云

腾讯云个人用户于官网开通CDN当天可获赠共120GB免费境内流量包,分6个月生效,每月生效20GB。另外,正常情况下,每个月有10G的免费额度,支持HTTP/HTTPS流量。

另外,国内云计算老大哥阿里云提供的CDN服务,据一些测评来看表现也不俗,价格自然也是相对较高的。对于流量较小的中小型网站来说,100G的流量套餐足够使用一段时间,而这在不同的厂商中的差价只在几块钱。因此,对于头部CDN厂商来说,选择那一家区别不大。

CDN厂商基本都支持CNAME接入,只需要在域名解析处填写CDN的CNAME记录,即可平缓过渡。针对动态内容,可以根据文件类型、目录等条件设置不缓存。为了避免因CDN导致域名解析出来的IP变化对搜索引擎的不友好,很多CDN厂商还提供了专门针对搜索引擎的优化:当搜索引擎的IP访问网站时,CDN网络会自动识别解析到源站地址。

现在,easeapi.com网站已经全站开启CDN,加载速度比之前快不少,目前还没有发现开启CDN引发的副作用。至于对搜索引擎的影响,需要再观察一段时间。

其它文章

优化Nginx配置提升网站性能
inode用尽导致磁盘空间不足
近期服务器的一些改进
阿里云云盘扩容笔记