丁 惠
随着Internet的广泛使用和企业内部网Intranet的建立,目前的校园网中数据应用系统大多已采用Browser/Server(浏览器/服务器)方式的多层次结构,最终用户能采用方便直观的Web网页浏览器,在后台数据库服务器的支持下通过网页方式请求各类应用服务。
但是由于访问用户数量的不断增加、再加上网页内容与多媒体技术的迅速发展和各类服务质量要求的显著提升,Web服务器承受着越来越大的压力,通过各种方式不断提高Web服务器的性能成为亟待解决的问题。
在三层结构的Web技术中,数据库不是直接向客户机提供服务,而是与Web服务器沟通,实现了对客户信息服务的动态性、实时性和交互性。这样的功能是通过诸如CGI,ISAPI,NSAPI,以及Java创建的服务器应用程序来实现的。
Web服务器的作用是整理、储存各种Web资源,并响应客户端软件(Web浏览器)请求,把客户所需要的资源传送到客户端。他的作用最终体现在对内容特别是动态内容的提供上,这也是Web服务器与应用服务器的区别所在。Web服务器主要负责同Web浏览器交互时提供动态产生的HTML文档,除此之外,还提供诸如XML格式的应用数据,可以提供在更大范围内与各种数据源建立链接,为浏览器提供更为丰富的内容。
在系统运行时,Web服务器往往要支撑大量而又密集的用户点击和应对动态内容的需求,所以即使再高档的服务器设备,面对不断增加的用户,单位时间内所支持的访问量也是有个限度的,因为动态内容的应用需求要频繁地调用数据库的数据和应用程序,会占用大量的服务器资源。因此,除了提高Web服务器本身的配置,如采用处理速度更高的CUP、更大的内存、更好的磁盘系统、增加网络带宽等之外,还应不断采用好的方法来改善Web服务器性能。
一、采用多个Web服务器并行工作的方法
要建立一个高负载的Web站点,就要使用多服务器的分布式结构。多个Web服务器并行工作又可采用两种方式:
(1)所有服务器的内容完全相同,根据用户的IP来决定访问哪一台服务器。
(2)每台服务器所起的作用不同,属于非对称的体系结构。非对称的服务器结构中每个服务器的作用是不同的,比如说,一台服务器用于提供静态网页,而另一台用于提供动态网页等。
二、采用web交换机的方法
大型的网络一般都是由大量的专用技术设备组成的,例如包括防火墙、路由器、第2层和第3层交换机、负载均衡设备、缓冲服务器以及Web服务器。如何将这些设备有机地组合在一起,是一个直接影响到网络性能的关键性问题。现在许多交换机提供第四层交换功能,可以将一个内部IP的地址映射为多个内部IP地址,对每次TCP链接请求动态使用其中一个内部地址,达到负载均衡的目的。
Web内容交换技术方法,即URL、交换或七层交换技术,提供了一种对访问流量的高层控制方式。Web内容交换技术检查所有的HTTP报头,根据报头的信息来支持负载均衡的决定,并可以根据这些信息来确定如何为个人主页和图像数据等内容提供服务。它不是根据TCP端口号来进行控制的,所以不会造成访问流量的滞销。如果Web服务器已经对图像服务、SSL对话、数据库事务服务之类的特殊功能进行了优化,那么采用这个层次的流量控制将可以提高网络的性能。目前,采用七层交换技术的产品与方案,有CISCO的CDN即内容交换网络系统等。
三、采用负载均衡的方法
负载均衡是建立在现有网络结构之上的,他提供了一种廉价而有效的方法来扩展服务器带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。它主要完成以下任务:
(1)解决网络拥塞问题,服务就近提供,实现地理位置无关性。
(2)给用户提供更好的访问质量。
(3)提高服务器的响应速度。
(4)提高服务器及其他资源的利用效率。
(5)避免了网络关键部位出现点单失效。
对一个网络的负载均衡应用,可以从网络的不同层次入手,具体情况要看对网络瓶颈所在之处的具体分析,大体上不外乎从传输链路聚合、采用更高层网络交换技术和设置服务器集群策略3个角度来实现。
进行负载均衡的网络设计结构为对称结构,在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。然后,可以通过某种技术,将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器独立回应客户的请求。在这种结构中,由于建立内容完全一致的Web服务器并不困难,因此负载均衡的方法就成为建立一个高负载Web站点的关键性技术方法。
总之,负载均衡是一种策略,能让多台服务器或多条链接共同承担一些繁重的计算或I/O任务,从而以较低的成本来消除网络瓶颈,提高网络的可靠性和灵活性。
四、采用Web缓存的方法
采用Web缓存的方法,就是将远程服务器上的Web文件夹缓存到本地,使得重复访问相同的目的地址时,直接从本地缓存读取发送给用户,而不用再连接到远程服务器,达到提高访问速度、减少网络流量的目的。
当Internet上某一用户发现HTTP请求时,缓存服务器代表用户向目的Web服务器发出请求,目的服务器将响应这一请求的Web对象连同头信息一起发送给缓存服务器,头信息中包含有关缓存的重要信息,例如这个对象是否能够缓存、可缓存时间等。如果该项对象可被缓存、就在缓存内在服务器中存一份拷贝,以便下一本地用户要访问同一Web对象时,可直接到本地的缓存服务器中获得,从而减少重复数据的远程传输,加快了用户访问Internet的速度。不过当有新的请求到来时,Web缓存服务器会检查缓存对象的存储时间,同时利用收到头信息来判断缓存内容是否过期、或判断缓存内容自上次请求后是否更改,将更新的信息实时发给用户,这样保证了实时刷新,用户得到的都是新鲜的数据。
缓存服务器分为主动模式和被动模式两种。
(1)采用主动模式。根据事先设置的策略预先把要访问站点的内容缓存到本地、用户获得的数据都是已经缓存的内容,但不一定是原始服务器最新的内容。这种方式类似镜像功能,一些企事业单位为使内外网隔离常采用这种方式,作到了既能访问Internet的内容,又保证了内部网的安全。
(2)采用被动模式。在用户请求时,缓存服务器才代理用户向原始服务器请求,并且进行缓存,供下一个访问的用户使用。在每次用户请求时,缓存服务器都会与原始服务器比较,如果原始服务器的内容与缓存内容不一致,就更新部分的数据;如果原始服务器的内容与缓存的内容没有发生变化,就直接在本地缓存服务器中发送给用户服务,这样可以大大减少已有数据的重复传送。随着Internet的快速发展,实时性就显得越来越重要,所以对于缓存服务器最好采用被动模式。
缓存服务器根据加速对象的不同,又分为正向代理和反向代理两种方式。通常把加速内部网用户对外部网络的访问速度称为正向代理,正向代理的缓存服务器牌网络中网关的位置,靠近客户端,为所有的用户提供缓存服务,这是大多数用户使用的模式。如果缓存服务器用于加速Web站点,一般称为反向代理或反向加速,它处于服务提供商一方,靠近服务器的一端,用户的请求主要通过高速缓存服务获得,此时的缓存服务器类似一台Web服务器,也是TCP80端口接受HTTP请求。
由于缓存服务器I/O操作的运行机制与Web服务器不一样,性能要远高于Web服务器,所以可以通过采用反向加速、降低Web服务器的负荷等方法,提高Web服务的响应速度,增加网站流量。
五、流量管理方法
流量管理方法包括在局域网和广域网两种情况下管理网络的流量,简而言之,就是充分利用服务器和网络带宽的资源,使网站达到智能流量管理的方式。其中,要体现高可用性(HA,即网站的任何一个故障而使网站无法访问)、高可靠性(HR,即网站的任何一个都可以屏蔽掉)、高性能(HP,即让网站直正的智能管理)。
网络流理应用主要表面4个方面:服务器群集系统、网络大型缓存CACHE系统、网络安全系统群集(防火墙或VPN设备),以及保证多个Internet ISP接入链路。
现在用户浏览信息时,大多是通过登录服务方的Web网页来实现的,无论是浏览网页上简单文本信息还是浏览通过数据库服务器所提供的复杂信息,最终都是要通过Web服务器来实现的。再加上现在的网页大多为动态更新网页,导致Web服务器的负担不断加重。正因如此,研究提高Web服务器工作性能的技术和方法就显得颇具现实意义。对网管人员来说,也要在现有条件下运用提高Web服务器的技术和方法,发挥现有设备的工作能力,转变只要慢就买新的“一换了之”的思维方式和做法。[e]
(江苏省金坛市职业教育中心 213200)