论文:论改进Web服务器性能的有关技术
摘要
一个大中型的图书馆信息系统涉及到许多方面的技术与方案,本文着重讨论与Web服务器性能有关的一些内容。本人有幸作为项目负责人之一参与了某大型图书馆数字化信息系统的设计和基于Web应用软件的开发工作。由于在数字化图书馆信息系统中流通着的大多是数字化的索引、文摘、全文、图像或音频视频等多媒体信息,对Web服务器性能有着较高的要求。结合实际工程经验,
本文将从硬件实现手段(缓存服务器、均衡负载设备、Web双机镜像、CPU和网卡的提升、网络带宽扩充)和软件实现手段(三层C/S软件结构设计、应用程序部署)等两个大方面论述如何提高Web服务大路的性能,以便使用户能够更快捷、高效、安全地使用应用系统。
正文
随着Intranet信息技术的发展,图书馆为了更好地发挥其图书流通、资料检索和学术交流的职能,图书馆的数字信息化工程也势在必行。某图书馆为了尽快地步入世界先进图书馆的行列,已经启动了一部分的数字图书馆工程。 该数字图书馆工程主要包括对外信息Web发布系统,交互式检索网,后台馆藏信息管理系统、多媒体资料采集制作以及外VOD点播系统等。本人有幸作为项目负责人之一,参与了整个数字化信息系统的总体设计,并参与了基于Web的一些应用(如对外信息发布系统、图像/全文混合系统、VOD点播系统的)开发。
某图书馆数字化信息系统从网络环境上讲,主要划分为多个网段:(一)Intranet接入部分,采用2M的DDN专线;(二)公共网段(非军事区),主要包括前台发布数据库服务器、Web服务器、E-mail/FTP/DNS服务器、检索服务器及SAN网络区域存储设备;(三)是内部局域网,包括内网Web服务器、后台馆藏数据库服务器、OA服务器等。(四)是VOD点播专用网,包括音频视频点播服务器等。由于制定了严格的网络级和应用级访问权限,通过具有三层交换能力的高性能交换机和安全授权认证系统等,有效地控制了访问权限,确保了数据的安全性和完整性。考虑到经费和人员素质及今后的维护管理运营等方面,操作系统采用WindowsNT平台,服务器选用DELL高端的系列,数据库采用IBM的DB2。主干网为千兆快速交换式以太网,局域网百兆到桌面,VOD点播网十兆到桌面。
在该网络环境下应用主要分为三大部分:(一)对外Web发布系统、对外图书辅助检索系统;(二)后台馆藏信息管理系统和图像/全文混合检索系统;(三)VOD点播系统。由于绝大部分应用采用Browser/Server方式结构,最终用户在本地只需安装IE或者Netscape Web浏览器,在后台数据库服务器的支持下通过网页方式请求和访问各类应用服务。另外,由于在图书馆信息系统中流通的多为索引、摘要、全文或音频视频等多媒体信息,对Web服务器性能与网络带宽等有更高的要求。
通过不断地试验和实践,我们发现从以下几个方面可以相对有效地提升Web服务器性能:
缓存服务器和均衡负载设备使用可以缓解访问瓶颈,提高网络带宽、实现均衡负载。缓存服务器也称为cache服务器,可以存储cache静态的内容如网页、多媒体点播资源和会议实况(已压缩的、有一定格式要求的)等。此外,目前美国cashflow缓存服务器,已经可以存储cache数据库、ASP等动态内容。cache服务器通常放到防火墙之外,外网Web服务器之前,因此Inrternet用户点击网页不再直接访问网站Web服务器,而是访问cache服务器。 由于cache服务器具有多个CPU和高速大容量I/O通道,独立的OS,因此能大大缓解Internet访问瓶颈,而且也具有一定的抗黑客攻击的能力。 目前某图书馆采用这种方式,把大数据量的静态图片、点播资源、虚拟三维应用等都事先置放在cache服务器中,即使现今只有2M internet的接入带宽,以上应用的播放速度和效果仍能让用户满意。 另外一种方式采用均衡负载设备或Web双机镜像。这种方式通过负载均衡的方法达到Web访问性能最优。Web双机镜像是较早以前流行的方式,虽能使系统可靠性提升,但由于双机总是在互相询问对方状态,将会影响一定的访问性能。均衡负载设备是独立于Web服务器的硬件,它和Web服务器及网站中其他服务器接在同一交换机上,通过负载调度程序为各个服务器分配工作量,从而,能达到充分利用资源,提高访问性能的目的。只是由于某图书馆目前对外发布资源相对仍较少,只有用了三台Web服务器,因此目前的均衡负载设备作用还不显著。
从Web服务器的配置来看,Web服务器自身CPU个数及速度、网卡数量、Web服务器与防火墙的位置关系等,都会影响到Web服务器的性能。 从Web服务器硬件本身来讲,CPU个数的增加、网卡个数的增加、I/O信道的扩展无疑可以直接地提高Web服务器性能。此外,由于千兆口的防火墙目前较少且费用较高,如果把Web服务器放置防火墙之后,一定会大大影响Internet访问性能。某图书馆采用IDS(入侵侦测)+Web服务器(服务器防火墙,较低端,不会影响流量)+应用服务器+数据库服务器(防火墙,高端),分层次的安全模式,既保证了系统的安全模式,既保证了系统的安全性,又提升了网络访问性能。 另外,某图书馆还采用了SAN网络区域存储来提高服务器访问速度。
三层C/S软件结构设计和应用程序的适当部署也会提高Web服务器的性能。 将业务逻辑、通用访问接口与数据等相互分离、分别置放于Web服务器、应用服务、数据库服务器上,通过过程序功能和逻辑的合理部署,也能大大改进Web服务器性能。 一般的原则是,Web服务器只需接受Internt http访问请求,使Web只有最少的任务,把实际处理交给各个应用服务器处理,然后返回结果给Browser。
总结
某图书馆采用这种方式专门开发了搜索引擎应用服务器和混合检索应用服务器等,达到了良好的应用效果。 事实上,Web服务器的性能提升还存在很多手段和方法,比如CPU与存储之间关系,Web交换机等等,有待于我们进一步的实践、分析和讨论。
更多内容请见: 备考系统架构设计师-核心总结索引