如何优化配置Web服务器 基于Web技术的Internet/Intranet近年来已经得到了广泛的应用,Intranet是以TCP/IP协议为基础、以Web为核心的企业内部网,用户通过低成本、简单易用的客户浏览器就能随时随地到企业的Web站点上查阅自己所需的数据。同时,Web信息动态的、交互式的发布方式从根本上改变了企业的服务质量,增加了企业的商业机会, 有利于提升企业的竞争力。 在许多用户看来,一个Web网站的成败主要在于它所提供的内容和功能,殊不知支持这些内容和功能的Web服务器才是真正的幕后英雄。 Web服务器使用超文本标记语言(HTML)描述网络的资源、创建网页,以供Web浏览器阅读。在三层结构的Web技术中,数据库不是直接向每个客户机提供服务,而是与Web服务器沟通,实现了对客户信息服务的动态性、实时性和交互性。多数情况下,应用服务器作为三层结构的中间层存在。通常在三层结构中,其他两层分别是Web服务器和数据库服务器。但是随着数据标准技术的发展,特别是由于XML的出现,打破了Internet上各种数据采集协议和开发语言之间的界限,Web服务器和应用服务器也都可以处理对方的数据,具有对方的功能。 常见应用及性能要求 静态内容:当Web服务器接到一个对Web页面的请求,就会通过URL定位到相应的宿主文件服务器上,找到相应的文件index.html,然后从宿主文件服务器上下载该文件,并通过HTTP协议把它传输给Web浏览器。最初的Web服务器仅具有简单的HTML文件和图像的浏览功能。在这种工作方式下,系统的主要瓶颈是内存和网络I/O。 动态内容:Web服务器可以根据用户输入的请求,去直接或间接地创建Web网页,然后返回给Web浏览器。最早实现动态内容应用的方法是通过CGI,它对Web服务器上程序的运行及Web服务器同Web浏览器之间动态内容的传输有一个基本的定义。在这种工作方式下,系统的主要瓶颈是CPU和内存。 安全交易:Web应用的另一个进展是HTTPS(安全超文本传输协议)的出现,这种协议保证了Web服务器和Web浏览器之间的通信安全,从而使得电子交易成为可能。在这种工作方式下,系统的主要瓶颈是CPU。 提高Web服务器性能的方法 集群:在系统运行时,Web服务器往往要支撑大量密集的用户点击和对动态内容的需求,所以即使再高档的服务器设备,面对不断增加的用户,单位时间内所支持的访问量也会有一个限度,尤其是对于动态内容较多的情况:因为动态内容的应用需要频繁地调用数据库的数据和应用程序,会占用大量的服务器资源。这时就需要在多个服务器设备之间或多个站点之间分散服务器的负载。 代理缓存:这是一种简便易行的办法,代理截获客户端的请求,把请求转发给Web服务器,再把服务器的回复传给客户端并把内容放入自己的缓存里。这样,同样内容的访问就不必直接由服务器处理,可以在很大程度上减轻服务器的负担。代理缓存根据存放的位置不同,分为正向代理、反向代理和透明缓存三种。 专业应用器:对于专注于一种功能而又很耗系统资源的应用(如加密/解密工作),可以把这部分工作分离出来,由专门的产品承担。如:浪潮英信的功能服务器SSL加速器、XML加速器系列等。 Web服务器选型分析 通常,建立一个网站要考虑硬件平台、操作系统、数据库、Web服务器及Web应用软件等的选择问题。对于Web服务器的性能,一般要考虑以下几个方面: ● 响应能力:即Web服务器对多用户浏览信息的响应速度。响应速度越快,单位时间内就可以支持越多的访问量,用户点击的响应速度就越快。 ● 管理的难易程度:即管理Web服务器是否简单易行。 ● 保护原来的投资。 Web服务器硬件部分对系统性能的影响很大。下面通过几个主要组件来分析系统瓶颈: ● CPU:当出现CPU瓶颈时,通过改变CPU频率、缓存大小以及增加CPU的数量可以有效地提高性能。例如:动态请求、加解密等都是很耗CPU资源的应用。而对于静态负载,CPU一般不是系统瓶颈。 ● 内存:系统性能受内存数量影响很大,内存越大,性能越好。例如,Windows 2000可以尽量通过利用物理内存来缓存静态文件,从而更有效地处理请求。但是,Web服务器并不能缓存所有的静态文件,这时,磁盘子系统就变得很重要了。 ● 磁盘子系统: 对于服务器内存较少,或者利用磁盘I/O来产生动态页数的情况,磁盘子系统就显得很重要。采用RAID技术能够较好地提高性能。 ● 网络子系统:Web服务器通常的应用瓶颈在网络上,有限的网络带宽限制了服务器的吞吐量。解决网络瓶颈的办法就是增加网卡或更换为千兆网卡。在安装多网卡时,为有效利用网络带宽,建议采用网络负载均衡技术。 |