提升CDN节点服务器输出能力的方法?

提升CDN节点服务器输出能力的方法?,第1张

CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
为更好地理解CDN,让我们看一下CDN的工作流程。当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。
二、CDN的相关技术
CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个,下面让我们简单看一下这几种技术。
负载均衡技术
负载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡、网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高网络流量,又提高了网络的整体性能。在CDN中,负载均衡又分为服务器负载均衡和服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务分配,既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。在CDN的方案中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。
动态内容分发与复制技术
大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与复制技术也是CDN所需的一个主要技术。
缓存技术
缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。

其实,根据调查只有约25%的虚拟服务器处理性能能够被部署虚拟化项目的企业所充分利用。几乎有超过半数的客户面临此类状况。事实上,利用率数字应该更高,也就是说应达到55%至60%的水平,这样才能使虚拟化应用的运行真正带来经济效益。这种实际效率与预期效率间的差距,主要来自于企业的虚拟化管理思路。他们往往更乐于添置新的虚拟服务器,而非在现有的虚拟服务器上配置更多工作负荷。而这种做法,Cappuccio说,会造成经济层面上的巨大浪费。原因何在?因为一套物理服务器即使只有25%的处理能力在发挥作用,其能源消耗率仍然会达到其额定运转功率的80%。如果我们将其处理能力的利用率提高一倍,达到前面所说的55%至60%,其所带来的能源消耗提升相对而言却微不足道——大约达到额定运转功率的85%。这意味010N着企业在处理能力方面收获颇丰,付出的能源消耗成本则只有一小部分。而且提升执行效率的做法,正是当初我们热衷于引入虚拟化技术的重要原因之一。别执著于你的服务器到底有多少资源被用于虚拟化,相反,我们要把注意力集中到资源的利用率方面。许多企业乐于宣称其数据中心内部的服务器资源虚拟化比例已达到70%或80%,但当谈及其服务器的实际平均运转水平时,得到的结论仍然可谓惨不忍睹——只有约25%至30%。这意味着,系统整体的虚拟化纵然做得再好,事实上多数企业仍然在浪费资源。要让你的每千瓦能源都物有所值,将自己设备的计算利用率提高到55%至60%才是正道。上述情况作为常见而典型的反面教材,广泛存在于各大沉醉于自身虚拟化方案的企业当中。也可以充分调动更多的服务器性能,与此同时,通过在少的物理服务器上运行更多的应用程序实体,我们可以节约自己数据中心的占地面积,这也是缩减开支的好办法。IT行业的历史顽疾正是原因之一。在过去,由于分布式计算是由规模相对较小的计算机实现的,而大多数数据中心管理员们往往不愿意使用这些性能较差的010N设备而更偏好将真正的业务计算需求通过大型机实现。所以,当有客户要求将某个应用程序加入分布式系统当中时,管理员们的建议往往是添加额外的对应设备用于010N专门处理。这就是一台计算机对应一个应用程序的不良风气成为主流模式的原因所在不过硬件利用率配置过高也会引发新的问题,在未引入虚拟化技术的企业中,管理员们往往会发现其物理服务器的实际利用率只有7%到010N12%,Cappuccio根据调查结果提到。“这正是巩固资源管理体系的起点,因为显然我们必须找出能让这些计算机设备的运转更加高效的方法。010N“如今的问题是我们发现处于虚拟环境下的计算机,其运行效率依然只有可怜的25%。这比起过去的确有些进步,但距离我们的目标还差得很远。通过切实发掘现有服务器的全部潜在性能,企业能够从长远角度节约大量投入,对于大多数情况来说,提高利用率可以避免无谓的数据中心扩张方案,并在很长一段时间内从各个角度帮助用户节省资金。在过去,企业总是让自己租下的大型机以90%的性能负荷不停运转,因为这类设备的使用成本实在不低,企业希望能尽量充分发挥它的能力。这种情况下,你会做何决断呢?1、如果还没做过相关工作,马上对自己的虚拟服务器进行整编并列出清单。3、如果实际利用率很低,大家可以立即着手进行调查,例如有针对性地做出变更、将一部分虚拟化应用程序转移到另一台服务器上以迅速提高运行效率等等。效率低下问题的症结所在,正是由于IT管理者们将多年来固有的使用习惯带入数据中心、硬件及应用程序的现代化管理之中。而这种落后的模式往往很难在短时间内彻底消除。但随着企业IT的演变及发展,我们能够探索新的途径并获取新的见解,进而在指导实践的过程中产生出乎预料之外的重大革新。只要时刻立足于IT行业的前沿、关注来自各方面的经验教训,这种变革之美就会为企业提供实实在在的经济回报。这个夏天,不要虚度——认真思考提高虚拟化利用率所能带来的好处吧:为企业节约资金、提高生产率、减少员工的工作量,并能够从自己的IT体系中发现更多有助于提高效率的真知灼见。

说白了就是服务器的承受能力。 第一,确认服务器硬件是否足够支持当前的流量。
普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大,那么必须首先配置一台更高性能的专用服务器才能解决问题,否则怎么优化都不可能彻底解决性能问题。
第二,优化数据库访问。
服务器的负载过大,一个重要的原因是CPU负荷过大,降低服务器CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过对于频繁更新的网站,静态化往往不能满足某些功能。
缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库,WordPress和Z-Blog都大量使用这种缓存技术。我自己也写过一个Z-Blog的计数器插件,也是基于这样的原理。
如果确实无法避免对数据库的访问,那么可以尝试优化数据库的查询SQL避免使用Select from这样的语句,每次查询只返回自己需要的结果,避免短时间内的大量SQL查询。
第三,禁止外部的盗链。
外部网站的或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的或者文件盗链,好在目前可以简单地通过refer来控制盗链,Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的ISAPI可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过目前蓄意伪造refer盗链的还不多,可以先不去考虑,或者使用非技术手段来解决,比如在上增加水印。
第四,控制大文件的下载。
大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。目前有不少免费的Web20网站提供分享和文件分享功能,因此可以尽量将和文件上传到这些分享网站。

这个问题的原因可能有很多,可能是服务器网络不稳定,也可能是网络延时太高,还可能是服务器上有太多的用户和流量,从而导致服务器超时。为了解决这个问题,可以尝试更新服务器的硬件,比如增加服务器的内存大小,提升服务器的处理能力,增加带宽等。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12956887.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存