1、本项目得到国家攻关项目及 863 计划的支持大型网络服务系统性能评测刘力力 樊建平(中国科学院计算技术研究所 北京 100080)摘 要 网络用户数量的激增使得单机网络服务器已经不能满足用户需求,而通常的多机结构又具有维护代价高,负载不均衡等缺陷,使用 Cluster 结构加上可扩展软件构成的单一入口点机群系统却可以很好地解决这一问题。文中介绍了在曙光 2000-II 型大规模并行计算机上采用该结构构造而成的多节点 Web 服务器和 Email 服务器,并对它们的性能进行了评测。多节点 Web 服务器使用 SPEC 公司开发的SpecWeb99 评测,而 Email 性能则用国家智能机研究开发
2、中心构造的 Email 评测软件,并通过对评测结果的分析,证明了该结构的优秀可扩展性能。关键词 性能评测,Cluster 系统,可扩展性软件,Web 服务器,Email 服务器The Performance Evaluation of Large Scale Web ServerLIU Li-Li and FAN Jian-Ping (The Institute of Computing Technology, The Chinese Academy of Sciences, Beijing 100080)Abstract The rapidly increased amount of web
3、 users makes single-node web server out of date and the traditional multi-node systems have the defects of difficult maintenance and imbalance traffic. The systems with single entry point, which is made up of cluster system and scalable software, can meet these needs. This paper introduces the multi
4、-node web server and email server, which are implemented in Dawning 2000-II. Their performance abilities are evaluated. SpecWeb99 is used as evaluating tools for the performance of web server, the email performance evaluating system is constructed by NCIC (National Center for Intelligent Computing s
5、ystems) and their results show the excellent scalability of this architecture.Key words performance evaluation, cluster system, scalable software, web server, email server1引言网络用户数量高速增长使任何单机的网络服务器都不能很好的满足用户需求,网络服务商不得不增加服务器的数量。但是增加独立服务器降低了系统的可扩展性能,增加了系统管理员的维护负担,而且多个服务器使用不同的入口,很可能引起负载的极度不均衡。本项目得到国家攻关项目
6、及 863 计划的支持而如果采用 Cluster 结构加上可扩展软件构成单一入口的服务器系统便能很好地解决这些问题。本文介绍了在曙光 2000-II 型大规模并行机上采用该结构实现单一入口点的 Web 服务器和 Email 服务器,评测了它们的性能特征,证实了该结构具有良好的可扩展性能。2基于 Cluster 结构的 Web 和 Email 服务器Cluster 结构的机群系统是一组物理上通过局域网络或高带宽交叉开关连接起来的计算机集合,每个计算机称为一个节点。每个节点含有自己的操作系统,内存,硬盘以及网卡,是一个可独立运行的计算机系统。基于 Cluster 结构的 Web 或 Email 服
7、务器就是在每个节点上都安装一套 Web 或 Email 服务软件,实现了 Web 和 Email 服务器的并行化,利用可扩展性软件对这些节点进行管理。本文的评测结果是在曙光 2000-II 型机上获得。其中服务器节点的配置为双 CPU 的PowerPC 主板( 200MHz , 512M 内存,9G 硬盘,100Mb 以太网卡) ,而客户端则采用双CPU(PowerPC) ,333MHz,1024M 内存,9G 硬盘,100Mb 以太网卡的系统,在 Mail 服务中使用的数据库为 Postgres。3可扩展软件介绍下面介绍支持多节点 Web 服务器的可扩展软件程序包 PowerRouter 和
8、支持 Email 服务器的程序包 MailProxy。PowerRouter 运行于系统的核心态,纪录了各个服务器的负载情况,并分派任务。当一个请求到达时,PowerRouter 根据请求和服务器的负载,选择一个服务器,修改请求中目的地址为选中服务器,传送用户请求,后续的操作便可以在用户和服务器之间直接进行,如图 3.1 所示。可以看出,在机群系统上用 PowerRouter 实现的单一入口点不仅仅为用户提供一个虚拟的 IP,屏蔽了其后庞大的网络机群,还起到监控系统和负载平衡的作用。这是因为 PowerRouter 是用户访问机群的唯一入口,机群内部各节点的任务都来源于 PowerRouter
9、 的分派。因此,PowerRouter 能够明了系统内部各节点的状态并实现适当的负载平衡机制,使机群 Web 服务器能够具有很高的性能。MailProxy 作为邮件收发的代理,包含 POP3 代理和 SMTP 代理两部分,还包含一个数据库,记录所有用户的名称以及为该用户服务的服务器。当用户提出 Mail 请求时,MailProxy 首先根据用户名称查询数据库,得到合适的邮件服务器,并在用户和该服务器之间传递信息。和 PowerRouter 不同,在交互过程中,MailProxy 始终作为用户和 Mail 服务图 3.1用 户 用 户PowerRouter服务器 服务器123 321本项目得到国
10、家攻关项目及 863 计划的支持器之间的中介存在。在用户看来,只有 MailProxy 的地址可见,多个 Mail 服务器的地址被屏蔽。如图 3.2 所示,由于 MailProxy 直到该次 Mail 操作结束之前不会释放资源,因此占用资源较多,时间也较长,于是一个 MailProxy 不可能为过多的 Mail 服务器服务。如果系统具有较多的 Mail 服务器,则必须设置两个甚至多个 MailProxy。在这种情况下,为了继续保持 Mail 系统单一入口的特点,在 MailProxy之上就需要增加一个 PowerRouter 层。由PowerRouter 首先在多个 MailProxy 中选择
11、一个为用户服务。4大型 Web 服务器的性能评测4.1 评测工具的选择基于 HTTP 协议的评测软件,现通用的有 WebStone 和 SpecWeb99 两种。两者都采用客户/ 服务器模式,但是 WebStone 目前还不能支持 HTTP 的 POST 操作以及 HTTP/1.1,并且 WebStone 得到的结果表示的是在给定文件集下,每分钟能获取的页面数目,而SpecWeb99 表示服务器能够支持多少高质量的连接。随着网络上各种诸如视频点播等要求高质量业务的开展,SpecWeb99 提供的结果相对用户来说更为重要。基于以上原因,我们选择了 SPEC(Standard Performanc
12、e Evaluation Coporation)的 SpecWeb99 作为 Web 服务器性能评测工具。4.2 SpecWeb99 简介SpecWeb99 假设用户数据传送在一条带宽为 400Kb/s 的线路之上,用户收到数据后根据传输的数据量,可以得到在 400Kb/s 的线路上传送这些数据应该花费的理论时间,如果传输的实际时间比理论时间要小,则客户端睡眠两个时间的差值。例如用户接收 600Kb 数据历时 1 秒,根据假设,在 400Kb/s 的线路上传输,理论上应该费时 600/400=1.5 秒,因此在接收该数据之后,客户端应该睡眠 1.5 - 1=0.5 秒。在这种情况下,如果客户和
13、服务器之间的连接对各种请求的平均带宽大于 320Kb/s,则称为“顺畅连接” (Conforming Connection) 。 SpecWeb99 就是评测服务器最多能支持多少 “顺畅连接” 。SpecWeb99 的文件集采用 4 个类别,大小分别为 0-1K、1K-10K、10K-100K 和 100K-1M 来模拟网络上大小不同的网页,它们在评测中比例为 35%、50% 、14%和 1%。4.3 评测结果对单一节点构成的 Web 服务器,在客户端和服务器直接交互的情况下, SpecWeb99 的图 3.2用 户MailProxyMail 服务器 Mail 服务器14DB2 356本项目得
14、到国家攻关项目及 863 计划的支持评测结果为 258,而在使用了 PowerRouter 中转之后结果降低为 256,这说明 PowerRouter使得单节点 Web 服务器的性能降低了 0.8%,可以看出 PowerRouter 对单节点系统性能影响很小。对 1、2、4、8 个节点做成的 Web 服务器所得到的数据如下,其中的理论值为单节点直连情况下的结果乘以节点的数量。服务器数量 1 2 4 8SpecWeb99 256 505 920 1795理论值 258 516 1032 2064性能降低(%) 0.8 2.2 10.9 13.1由图 4.1 可以看出,多节点 Web 服务器的性能
15、基本随服务器数量的增加而线性增长。说明 Cluster系统加可扩展软件确实能为大型 Web 服务提供比较优秀的扩展性能。同时,从图 4.1 中也可以看到,当采用 8 个节点作为 Web 服务器时,系统性能比理论值下降了 13%,这主要是因为 PowerRouter在连接数量扩大的时候,每个连接建立的平均时间加长,而且为了适应服务器节点的增加,客户端的数量也必须随之提高,在它们都向有限带宽的 PowerRouter(本系统中为 100Mb 网卡)建立连接时,冲突的可能也增加了,这些都导致了系统性能的降低。当服务器数量进一步扩大的时候, PowerRouter 很可能就成为了系统的瓶颈。此时可以采
16、用的解决方案是提高 PowerRouter 机器的配置,使用更高级的机器,更换更高速的网卡等等。根据得到的数据,8 个节点作成的服务器,可以支持 2064 个“顺畅连接” ,每个顺畅连接至少为 320Kb/s,假设用户和服务器之间连接为 100Kb/s(国内的通常情况) ,每个连接持续 1 分钟,则该服务器每天可以支持的点击数为 24 * (60/1) * (320 / 100) * 2064 1 千万。5 大型 Email 服务器的性能评测5.1 评测工具介绍由于在国内国际上,还未见成型的 Email 服务器性能评测软件,而 SPEC 公司的SpecMail2000 还在开发之中(http:
17、/www.spec.org 2000 年 1 月 23 日) 。因此我们开发了基图 4.1 本项目得到国家攻关项目及 863 计划的支持于 SMTP 和 POP3 协议的 Email 服务器性能评测软件。它也采用客户/服务器模式,客户端尽可能地向服务器发送 POP3 和 SMTP 请求。它定义 一次“MAIL 操作”为一次成功的POP3 操作加上一次成功的 SMTP 操作,最后得到的是系统在一个小时之内能支持多少次“MAIL 操作” ,反映了系统的峰值结果。为了得到稳定的,最能反映服务器性能的结果,对发送和接收信件的长度作了大量测试,在使用1K、2K、4K、8K、16K 等不同长度的信件分别在
18、 1、2、3、4 个节点作成的 Mail 服务器上得到的测试结果如图 5.1 所示。从图中可以看出,信件长度的变化对整个系统的性能影响不大。这是主要是因为 MAIL 操作中大量的时间花费在用户与 Mail 服务器之间喋喋不休的交互上了,而信件处理占用的时间相对较小。通过各值的比较和反复实验发现,当信件长度为 2K 的时候,系统测得的数据最为稳定。因此把收发信件的长度定为 2K。为了避免长时间等待,缩短评测时间,我们给 POP3 和 SMTP 操作分别设置了超时时间。由于 SMTP 操作的时间比 POP3 要长,因此把 SMTP 的超时时间定为 POP3 的两倍。在使用 1 个节点做成的 Mai
19、l 服务器,让客户端创建 96 个线程模拟 96 个并发用户同时对 Mail 服务器操作时,得到的在一小时之内的超时操作的次数如图 5.2所示,可以看到超时的时间从 15s/30s 增加到 30s/60s 时,超时次数下降 250 左右,而继续增加超时时间却下降不多,而且过多加长超时时间则必须使评测时间相应加长才能获得稳定可信的结构。基于上面两点的考虑,我们把 POP3 操作的超时时间定为 30 秒,SMTP 为 60 秒图 5.1图 5.2本项目得到国家攻关项目及 863 计划的支持5.2 评测结果对单个的 Mail 服务器,在不采用 MailProxy 中转时,其峰值速度为每小时能进行29
20、091 次“MAIL 操作” ,而通过 MailProxy 中介后为 27634,可以看出 MailProxy 使系统性能下降了 5%。为了使 MailProxy 不成为系统的瓶颈,必须得到 MailProxy 所能支持的 Mail 服务器地数量。通过实验,得到的数据如下:节点个数 1 2 3 4 5 6Op/Hour 27634 57763 87215 112696 130985 132507理论值 29091 58182 87273 116364 145455 174546性能降低(%) 5.0 0.1 0.0 3.2 10.0 24.1由图 5.3 可以看出对MailProxy 来说,支
21、持到 4 个Mail 服务器时性能几乎线性增长,而支持 5 个时,加速比减小,到 6 个则系统性能几乎不再增加,此时 MailProxy 成为系统的瓶颈。因此如果系统有超过 4 个的 Mail 服务器时,则应该增加 MailProxy,这时为了保证对用户的单一入口,则需要增加一级PowerRouter,让 PowerRouter首先在 MailProxy 之间作一个选择。以下评测结果,是在 Mail 服务器的节点数量为 1、2、4 时采用一个 MailProxy,当节点增加到 8 时,加一个 MailProxy,并增加一级 PowerRouter 来保证系统的单一入口,结果如下表所示:服务器节
22、点 1 2 4 8Op/Hour 27634 57763 112696 209253理论值 29091 58182 116364 232728性能降低(%) 5.0 0.1 3.2 10.1从图 5.4 可以看出,采用MailProxy 加 PowerRouter 技术对单一入口的 Mail 服务器具有较好的扩展性。同时,我们看到当服务器节点增加到 8 时,系统性能下降 10%,主要是因为PowerRouter 增加后,系统增加一级延迟,操作的增加对数据库图 5.3图 5.4本项目得到国家攻关项目及 863 计划的支持访问也相应增多,这也会增加一些延迟。如此可以得到, 8 个节点组成的 Ema
23、il 服务器,如果每个用户每天收发一封信的话,则系统每天可以支持 232728*245百万用户的访问量。6结论通过测试可知道,Cluster 结构加上可扩展性软件能够提供良好扩展功能的 Web 和Email 服务器,能够适应越来越多的网络用户。但是当节点数目增加到 8 时,Web 和 Email的性能都比理论值下降 10%以上,这下降的 10%目前还不能定量地分配到各个影响性能的因素上,还需要进一步的研究。参考文献:1: ZHAO Xiao-Fang and others: Analysis and application of the self-similarity in network t
24、rafficThe performance test of clustered WWW servers with a single entry point, Journal of Computer Research & Development, Sep 1999, p1032-1036赵晓芳等:网络交通自相似特性的分析及应用具有单一登录点的机群网络服务器的性能评测, 计算机研究与发展 ,1999 年 9 月,p1032-1036。2: SpecWeb99 : Standard Performance Evaluation Coporation , June 19993: RFC2068: Hypertext Transfer Protocol HTTP/1.1 , Networking Group, Jan 1997 4: WebStone: The First Generation in HTTP Server Benchmarking, Gene Trent , Feb 1995