校园门户网站的部署优化研究与实践
2018-07-13李义勇徐南车
李义勇徐 南车 路
1.山东农业大学网络信息技术中心 山东泰安 271000 2.泰山医学院附属医院 山东泰安 271000
校园门户网站是学校直接对外交流和宣传的信息媒体,是学校综合形象和精神面貌的窗口,主要采取三级结构,即学校门户网站、学院与部门网站以及专题网站。主要内容包括学校概况、学校新闻、公告、学术等栏目,体现学校的发展成就与变化。核心内容是招生信息、就业指导、科研、人才培育等内容,为考生及考生家长、在校大学生、教职工、校友以及访客提供信息资源服务。校园门户网站一般情况下运行正常,性能良好,但是在一些特殊情况下,比如选课、招生咨询期间,随着访问量的大量增加,网站性能问题就开始暴露出来。特别是对大数据量表的访问,导致在运行时对服务器端资源的要求较大。
校园门户网站的性能受服务器硬件、预装操作系统、Web服务器软件的配置及数据中心网络拓扑结构的影响。学校门户网站的部署经历了从单机部署到双机部署,通过简单DNS轮询技术实现网站的稳定性和数据安全性。在没有大资金投入的情况下,利用现有硬件设备,结合学校门户网站部署的实际,我们将主要考虑Web服务器软件选择和多链路访问优化问题。
1 Web服务器软件的选择
通常我们使用最多的Web服务器软件是Apache和Microsoft的IIS。目前Nginx是一款比较流行的Web服务器软件,它在处理静态图片及反向代理方面具有很高的性能,同时具有处理海量连接的高性能性[1]。
下面通过测试查看Apache和Nginx Web服务器的功能和性能是否满足门户网站系统的需求。测试的方法是通过模拟生产环境对门户网站进行负载测试,通过高并发访问达到测试目的。
测试环境依托数据中心虚拟出3台服务器,3台服务器的硬件、软件配置、环境设置完全相同。测试工具采用Webbench,下文为测试方法及结果。
Webbench部署在服务器rhel3上,然后对服务器rhel1,rhel2进行压力测试,设置不同的并发数。测试的静态网页内容相同,而且均放在根目录下。图1是两种测试的环境测试对比。
图1 两种平台压力测试结果对比
通过上图看出,在响应高并发访问方面Nginx比Apache优秀得多。基于以上测试结果及Apache和Nginx的实现特点,选择使用Nginx作为Web服务器。如果对性能要求更高,可以采取静态网页与动态网页分离部署,使用Nginx作为静态网页的服务器,虽然Nginx目前支持使用FastCGI方式来解析PHP文件,但会出现502的错误,且PHP可以作为一个Apache的模块使用,所以使用Apache作为动态内容的Web服务器[2]。
2 使用负载均衡技术优化网站性能
2.1 使用Nginx实现Web应用服务器集群
Web服务器集群技术为Web服务器系统容量的不断扩展提供了良好的途径,它将一组Web服务器通过一定的形式组织在一起,构成单一的服务器映像[3]。具体到校园门户网站的部署中,早期部署了3台服务器,其中一台高端的服务器作为集群服务器,另两台低端服务器作为校园门户网站Web服务器,服务器Web1和Web2的Web应用软件配置除IP地址外基本相同,可以快速实现复制;而且每台服务器可独立提供Web服务,通过前端的负载均衡设备对客户端的请求进行应答,以达到Web服务高可靠性和高并发性。后期学校构建了云计算平台,将3台服务器相关应用部署到对应的虚拟机上。Nginx可以支持一个服务器阵列,结合虚拟机技术,可以很方便地实现多台服务器的增加与减少,大大增强了整个系统的稳定性与扩展性。服务器集群方案结构如图 2所示。
图2 服务器集群方案结构图
2.2 使用DNS轮询技术实现多机负载均衡
学校的域名服务器采用的是Bind软件构建的,配置文件中将主机的名字与主机的IP地址进行映射。根域名是在CERNET申请的.edu.cn域名。在前文所述的例子中,www.sdau.edu.cn这个站点的映射IP地址为202.194.133.5,同时增加一条A记录,将域名映射为另一个IP地址:202.194.131.20。这样就把这个站点解析到不同的IP上,见表1。
表1 DNS服务器解析设置
www.sdau.edu.cn将通过下面两个IP地址发布到一个集群中的两台服务器上。
Server1:202.194.133.5
Server2:202.194.131.20
那么我们的DNS服务器中包含下面的映射表。
www.sdau.edu.cn ---- 202.194.133.5
www.sdau.edu.cn ---- 202.194.131.20
这样就可以利用DNS轮询技术简单实现不同地址Web服务器轮流响应访问请求。若有更高应用需求,可以借助LVS集群技术基于IP的负载均衡和基于内容的负载均衡[4]。
2.3 多运营商访问优化
运营商用户反映访问学校官方网站等站点经常出现卡顿、访问页面慢、访问不畅等问题,经分析发现有些高投诉网站为其他运营商或教育网地址。加上以前中国教育与科研计算机网(CERNET)是按照流量收费的,如果校园网用户全部通过教育科研网(CERNET)对外访问,则会因为流量巨大造成网络费用过高,目前是采用包月制方式,但价格仍然不菲,而且教育科研网与联通、移动等运营商网络互联的带宽限制及网络资源的分布不均,特别是处于二三线城市的校园网用户与其他运营商互相访问的速度比较慢。虽然现在多数学校教育网出口费均使用包月制,但包月的带宽无法满足正常的教学科研需要。综合考虑宽带租金、访问速度和信息资源使用情况,学校在保留CERNET出口线路的基础上,通过泰安联通开通了第二条出口线路。该方法解决了校园网用户访问外网速度慢的问题。但由于运营商之间无法直接互联互通,所有教育科研网外的用户都只能通过CERNET线路访问校园门户网站,造成互联链路拥挤,其他运营商访问门户网站速度依然没有提升的现象。
为了解决上述问题,在DNS轮询技术基础上,将其中一台服务器安装双网卡,一块网卡配置CERNET IP地址;另一块网卡配置联通IP地址,需确保联通IP地址开放80端口,并完成相关备案,否则将无法正常提供服务。借助Bind DNS View功能完成不同运营商用户正确域名解析,CERNET用户解析到配置教育网地址的Web服务器,其他用户解析到配置联通IP地址的Web服务器。两台服务器之间通过校内地址实现互通,Web内容采用Rsync和Inotify技术实现实时同步。最终实现CERNET的用户通过CERNET线路访问我校对外提供服务的Web服务器,其他用户通过联通线路访问我校对外提供服务的Web服务器,从而提高网络访问速度,充分利用双带宽资源[5]。需要注意的问题是校园网用户客户端网络配置要设置正确的DNS,否则适得其反。
3 结语
通过使用以上技术的优化,在低投入的情况下,校园门户网站的稳定性和扩展性有了大幅的提升,同时利用Rsync技术实现了Web文件的备份,提升了数据的安全性。若有资金投入,采购应用交付设备可以很好地解决上述问题。如何构建校园门户网站的性能评价方案,使网站的性能更优是下一步的研究重点。