当今世界,对所有人而言,
网站必须具有一切功能:网站必须有吸引力、速度快、有灵活性及可移动性,甚至必须要能够不断变化。此外,还必须支持频繁的会话、支持各种浏览器、智能手机、平板电脑以及其它
用户可能会用到的设备。\x0d\x0a网站必须能够在复杂的网络环境下运行,比如中国、亚洲、中东等网络连接很差的区域或国家,这些地方不仅地理位置分散,距离遥远而且网络多样化。更不必说,对于移动站点或应用程序而言,不仅有线连接如DSL或电缆线甚至无线连接如GPRS、EDGE、3G及现在的LTE等,都必须有很高的连接性能,然而即使是这些提供连接服务的供应商都可能不会有很好的网络连接。\x0d\x0a此外,站点使用越来越多的对象,如图片、帧、CSS及APIs,比如AJAX,以及远程调用,比如从Facebook调用到Google,甚至使用各种各样的共享、跟踪及附加值系统等。\x0d\x0a难怪,系统变得越来越慢,用户只访问能够最快打开、性能最好的网站。Google及其它网站的研究表明,一个网站每慢一秒钟,就会丢失许多访客,甚至这些访客永远不会再次光顾这些网站。\x0d\x0a输入CDN或是
内容分发网络,你就会搜索到国际公司如Akamai及Limelight,及中国公司如ChinaCache及ChinaNetCenter,他们可以帮助用户提高网站浏览性能,如浏览互联网站、网络游戏网站及应用程序。\x0d\x0aCDN支持许多种服务,最常用的服务有:\x0d\x0a下载_下载服务是CDN提供的最简单的服务,通常是一些终端用户,如网游用户、软件用户、程序开发员及要下载大量文件的用户会使用到。通过使用CDN,人们便无需使用高带宽连接到昂贵的数据中心,并且通过CDN节点,这些文件会放到离终端用户更近的地方。\x0d\x0a静态文件/图片_CDN最常用的用途是用来给终端用户发布静态文件,如图片、java脚本、css文件等。通常这些类型的文件很少变更,即便有变更,也是少量的,所以,把文件发布并存放到离终端用户比较近的地方会极大地提高网站速度,在地理位置分散或连接性能很差的地方,网站速度提高会显得更加明显。请注意,该服务仅仅用于处理静态文件,如主要的网站页面,所有动态内容,都是由主网站服务器提供。这通常是分开处理的,通过不同的子域名进行处理,如images.mydomain.com,与www.是分开的。\x0d\x0aWSA_即整体网站加速,正变得越来越流行。从名称便可知道,它是用来加速整个网站的,包括所有的静态的东西及动态的东西,如网页、购物车及推荐信息等。基本情况是,终端用户只连接到CDN,CDN连接到网站,然后缓存所有的东西,CDN代表用户向实体的网站后台发送请求,获取动态数据。\x0d\x0a当然,CDN只能改善一部分内容的访问速度,因为其它的内容,如采购历史、产品库存等必须直接从后台网站获得。对于连接性很差的网络,如移动网络以及复杂的难以将静态内容从静态CDN分离出来的网站来说,WSA尤为好用。注意,为确保WSA成功,谨慎的配置及缓存控制头信息是非常重要的,因为CDN需要知道要缓存哪些东西,以及哪些东西是要传递到后台的。\x0d\x0a流媒体内容-媒体类网站使用越来越多的流媒体内容,如视频,包括来自于其它网站(如Netflix、Hulu、或Youtube及中国的Tudou/Youku)的实际的电视节目、影片等。对于这些内容而言,CDN提供特别的下载服务,通常称之为点播或Vod,可以处理并控制所有视频,包括快进/后退视频,可以访问经过授权的内容,提供各种跟踪服务等。对于这些服务而言,视频通常是加载到CDN,并且通过特定的URL直接提供视频。此外,一些CDN还提供现场流体内容,如,体育或其它事件等实时播放,进行现场内容直播。\x0d\x0a其它-CDN有许多其它功能及服务,以满足特殊需求,如电商、预加载、网游、动态加速、安全及DRM控制等。此外,还提供特殊的满足地理要求或网络要求(如中国移动或CERNET)的特别服务。\x0d\x0aCDN还有一个服务容易被人忽略,就是安全服务。例如,许多CDN可提供防DDoS攻击服务,由于它们比任何一个网站的带宽都大,而且分散,所以能够经受住此类攻击。此外,一些专门的CDN如,CloudFlare及AnQuanBao也提供像防火墙一样的应用程序,如防止SQL注入攻击、XSS攻击及其它防攻击手段以保护后台站点。\x0d\x0a另一个特别的主要服务就是“内容感知”网络服务。这是一种新新服务,是通过CDN系统的更智能化管理的内容,可以给不同用户,如移动或DSL或办公室用户等提供不同的优化过的内容。它可以对内容进行处理,以便提供给不同设备,也可以对内容进行优化,以便将最重要的内容优先下载下来,使用户获得最佳体验。它们还会判断在哪个地方存放哪些内容,总之,该系统能够使网站在复杂的互联网环境下有良好的性能表现。\x0d\x0a最后,有些CDN还提供全球服务,帮助客户开拓新区域或国际区域,如中国、拉美或国外其它地区。对于全球品牌而言,这种服务非常重要,对于想要获得国际客户的中国公司而言,这种服务也非常重要。这种全球或局部CDN帮助人们在无需数据中心及特别带宽等情形下,便可获得庞大的用户群。\x0d\x0a根据您的需求及站点架构,使用CDN是非常容易的。对于静态/图片CDN而言,关键的一点在于能够将静态内容或图片分离到特定的域名,然后存放到同一服务器上不同的虚拟机上。\x0d\x0a要想使用好CDN,最关键的一点还在于能够有良好的缓存控制。这样,CDN能够知道缓存哪些对象以及要缓存多长时间。理想的情况是,像图片这些东西基本很少发生变化,若有更新的话,应该将文件名/URL更改掉并且HTML变更到指向新的对象。有时候,要进行这些更改并不容易,因为必须在源主机进行更新,这就要求短时间的(1个小时或1天)缓存这些东西,或者使这些在CDN缓存中失效。\x0d\x0a对于任何网站而言,最好的做法也许是将两种方法结合使用,也就是使用CDN来处理静态HTML页面,使用AJAX处理动态数据。这样便可以从后台系统提供服务数据,给用户快速提供动态数据,使用户有良好的体验。\x0d\x0a监控_要想很好地跟踪CDN的运行情况,就必须使用监控工具,如Gomez、ip-label或NetworkBench。它们可以帮助您监控CDN的实际性能,这一点可以从不同的网络及终端用户的使用情况中得到证实。并且,这样做有助于识别并发现问题,确保CDN服务能按照所期望的运作。\x0d\x0a总之,几乎每个人都应该使用CDN,尤其是现在的世界生活节奏快、充满活力、要求又很苛刻,所以人们更应当使用CDN。cdn和网盘的主要区别是文件存储的位置和方式,cdn是分散式的,网盘是集中式的。网盘,也称为网络硬盘,是由互联网公司推出的在线存储服务,服务器机房为用户划分一定的磁盘空间,为用户提供文件的存储,访问,备份,共享等文件管理功能,可以将网盘理解为一个放在网络上的U盘。cdn,即内容分发网络,可以存储图片、音频、视频等非结构化数据,主要是将资源缓存到位于全球各地的cdn节点上,用户请求资源时,就近返回节点上缓存的资源。
通过nginx解决图片加载较慢,连接数较多,宽带占用的问题。可以通过简单配置达到目的,主要配置以下几项内容:
小结: 也许是我对nginx的基础以及理解不够全面,但是我觉得宽带因素等条件都摆在那里,在同一台文件服务器上也只能是限制客户端的连接来进行优化。所以只是简单做了优化后久没有深化研究,而且我们的文件服务器上的文件也不少。
CDN(Content Delivery Network): 内容分发网络,通过cdn访问文件服务器时,cdn会将文件缓存到cdn服务器,下一次访问该文件时,就直接从cdn的缓存服务器上获取文件,而不需要到文件服务器获取文件。具体的知识介绍可参考 百度百科 。
阿里云的CDN介绍:内容分发网络(Content Delivery Network,CDN)是建立并覆盖在承载网上,由不同区域的服务器组成的分布式网络。将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力。
根据文档中阿里云在国内拥有2300+节点,所有节点均接入万兆网卡,单节点存储容量达40TB 1.5PB,带宽负载达到40Gbps 200Gbps,具备130Tbps带宽储备能力。所以我们暂时选择了阿里云的CDN。
我们根据阿里云的CDN文档进行配置之后遇到一个问题,cdn的域名配置成功后,在nginx上找不到文件,直接跑出404的异常。后面通过在 nginx中增加了一个解析cdn域名执行文件的配置 之后文件访问正常。
如果文件数量不算特别多,访问量不算特别大,可以通过配置本地nginx即可解决部分宽带压力,毕竟这个是不用花钱的。如果访问量下不了,而且宽带压力较大,则直接推荐使用阿里云的CDN服务,配置各种都挺简单。我们的服务器是托管在电信机房,百兆共享宽带,在没有使用CDN之前,每天8:00-00:00这个时间段基本上服务器网络下行速度11M/s,配置CDN之后基本在1-5m/s之间浮动。所以说使用CDN还是能解决一大部分问题。
评论列表(0条)