大型网络服务系统性能评测

发表于:2008-04-15来源:作者:点击数: 标签:
大型 网络 服务系统 性能 评测 刘力力 樊建平 (中国科学院计算技术研究所 北京 100080 ) 摘 要 网络用户数量的激增使得单机网络 服务器 已经不能满足用户 需求 ,而通常的多机结构又具有维护代价高,负载不均衡等 缺陷 ,使用 Cluster 结构加上可扩展软件

大型网络服务系统性能评测

刘力力 樊建平

(中国科学院计算技术研究所  北京 100080

 

      网络用户数量的激增使得单机网络服务器已经不能满足用户需求,而通常的多机结构又具有维护代价高,负载不均衡等缺陷,使用Cluster结构加上可扩展软件构成的单一入口点机群系统却可以很好地解决这一问题。文中介绍了在曙光2000-II型大规模并行计算机上采用该结构构造而成的多节点Web服务器和Email服务器,并对它们的性能进行了评测。多节点Web服务器使用SPEC公司开发SpecWeb99评测,而Email性能则用国家智能机研究开发中心构造的Email评测软件,并通过对评测结果的分析,证明了该结构的优秀可扩展性能。

关键词    性能评测Cluster系统,可扩展性软件,Web服务器,Email服务器

The Performance Evaluation of Large Scale Web Server

LIU 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 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-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 systems) and their results show the excellent scalability of this architecture.

Key words          performance evaluation, cluster system, scalable software, web server, email server

§1.引言

       网络用户数量高速增长使任何单机的网络服务器都不能很好的满足用户需求,网络服务商不得不增加服务器的数量。但是增加独立服务器降低了系统的可扩展性能,增加了系统管理员的维护负担,而且多个服务器使用不同的入口,很可能引起负载的极度不均衡。而如果采用Cluster结构加上可扩展软件构成单一入口的服务器系统便能很好地解决这些问题。本文介绍了在曙光2000-II型大规模并行机上采用该结构实现单一入口点的Web服务器和Email服务器,评测了它们的性能特征,证实了该结构具有良好的可扩展性能。

§2.基于Cluster结构的WebEmail服务器

Cluster结构的机群系统是一组物理上通过局域网络或高带宽交叉开关连接起来的计算机集合,每个计算机称为一个节点。每个节点含有自己的操作系统,内存,硬盘以及网卡,是一个可独立运行的计算机系统。基于Cluster结构的WebEmail服务器就是在每个节点上都安装一套WebEmail服务软件,实现了WebEmail服务器的并行化,利用可扩展性软件对这些节点进行管理。

本文的评测结果是在曙光2000-II型机上获得。其中服务器节点的配置为双CPUPowerPC主板(200MHz 512M内存,9G硬盘,100Mb以太网卡),而客户端则采用双CPUPowerPC),333MHz1024M内存,9G硬盘,100Mb以太网卡的系统,在Mail服务中使用的数据库Postgres

§3.可扩展软件介绍

下面介绍支持多节点Web服务器的可扩展软件程序包PowerRouter和支持Email服务器的程序包MailProxy



 

 

 

 

 

 

 

 


3.1

PowerRouter运行于系统的核心态,纪录了各个服务器的负载情况,并分派任务。当一个请求到达时,PowerRouter根据请求和服务器的负载,选择一个服务器,修改请求中目的地址为选中服务器,传送用户请求,后续的操作便可以在用户和服务器之间直接进行,如图3.1所示。可以看出,在机群系统上用PowerRouter实现的单一入口点不仅仅为用户提供一个虚拟的IP,屏蔽了其后庞大的网络机群,还起到监控系统和负载平衡的作用。这是因为PowerRouter是用户访问机群的唯一入口,机群内部各节点的任务都来源于PowerRouter的分派。因此,PowerRouter能够明了系统内部各节点的状态并实现适当的负载平衡机制,使机群Web服务器能够具有很高的性能。

MailProxy作为邮件收发的代理,包含POP3代理和SMTP代理两部分,还包含一个数据库,记录所有用户的名称以及为该用户服务的服务器。当用户提出Mail请求时,MailProxy首先根据用户名称查询数据库,得到合适的邮件服务器,并在用户和该服务器之间传递信息。和PowerRouter不同,在交互过程中,MailProxy始终作为用户和Mail服务器之间的中介存在。在用户看来,只有MailProxy的地址可见,多个Mail服务器的地址被屏蔽。如图3.2



 

 

 

 

 

 

 

 


3.2

示,由于MailProxy直到该次Mail操作结束之前不会释放资源,因此占用资源较多,时间也较长,于是一个MailProxy不可能为过多的Mail服务器服务。如果系统具有较多的Mail服务器,则必须设置两个甚至多个MailProxy。在这种情况下,为了继续保持Mail系统单一入口的特点,在MailProxy之上就需要增加一个PowerRouter层。由PowerRouter首先在多个MailProxy中选择一个为用户服务。

§4.大型Web服务器的性能评测

§4.1 评测工具的选择

基于HTTP协议的评测软件,现通用的有WebStoneSpecWeb99两种。两者都采用客户/服务器模式,但是WebStone 目前还不能支持HTTPPOST操作以及HTTP/1.1,并且WebStone得到的结果表示的是在给定文件集下,每分钟能获取的页面数目,而SpecWeb99表示服务器能够支持多少高质量的连接。随着网络上各种诸如视频点播等要求高质量业务的开展,SpecWeb99提供的结果相对用户来说更为重要。基于以上原因,我们选择了SPECStandard Performance 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秒。在这种情况下,如果客户和服务器之间的连接对各种请求的平均带宽大于320Kb/s,则称为“顺畅连接”(Conforming Connection)。SpecWeb99就是评测服务器最多能支持多少“顺畅连接”。

SpecWeb99的文件集采用4个类别,大小分别为0-1K1K-10K10K-100K100K-1M来模拟网络上大小不同的网页,它们在评测中比例为35%50%14%1%

§4.3 评测结果

对单一节点构成的Web服务器,在客户端和服务器直接交互的情况下,SpecWeb99的评测结果为258,而在使用了PowerRouter中转之后结果降低为256,这说明PowerRouter使得单节点Web服务器的性能降低了0.8%,可以看出PowerRouter对单节点系统性能影响很小。

1248个节点做成的Web服务器所得到的数据如下,其中的理论值为单节点直连情况下的结果乘以节点的数量。

 

服务器数量

 

1

 

2

 

4

 

8

SpecWeb99

256

505

920

1795

理论值

258

516

1032

2064

性能降低(%

0.8

2.2

10.9

13.1

4.1 

由图4.1可以看出,多节点Web服务器的性能基本随服务器数量的增加而线性增长。说明Cluster系统加可扩展软件确实能为大型Web服务提供比较优秀的扩展性能。

同时,从图4.1中也可以看到,当采用8个节点作为Web服务器时,系统性能比理论值下降了13%,这主要是因为PowerRouter在连接数量扩大的时候,每个连接建立的平均时间加长,而且为了适应服务器节点的增加,客户端的数量也必须随之提高,在它们都向有限带宽的PowerRouter(本系统中为100Mb网卡)建立连接时,冲突的可能也增加了,这些都导致了系统性能的降低。当服务器数量进一步扩大的时候, PowerRouter很可能就成为了系统的瓶颈。此时可以采用的解决方案是提高PowerRouter机器的配置,使用更高级的机器,更换更高速的网卡等等。

根据得到的数据,8个节点作成的服务器,可以支持2064个“顺畅连接”,每个顺畅连接至少为320Kb/s,假设用户和服务器之间连接为100Kb/s(国内的通常情况),每个连接持续1分钟,则该服务器每天可以支持的点击数为24 * (60/1) * (320 / 100) * 2064 ≈ 1千万。

§5 大型Email服务器的性能评测

§5.1 评测工具介绍

由于在国内国际上,还未见成型的Email服务器性能评测软件,而SPEC公司的SpecMail2000还在开发之中(http://www.spec.org 2000123)。因此我们开发了基于SMTPPOP3协议的Email服务器性能评测软件。它也采用客户/服务器模式,客户端尽可能地向服务器发送POP3SMTP请求。它定义 一次“MAIL操作”为一次成功的POP3操作加上一次成功的SMTP操作,最后得到的是系统在一个小时之内能支持多少次“MAIL操作”,反映了系统的峰值结果。

5.1

       为了得到稳定的,最能反映服务器性能的结果,对发送和接收信件的长度作了大量测试,在使用1K2K4K8K16K等不同长度的信件分别在1234个节点作成的Mail服务器上得到的测试结果如图5.1所示。从图中可以看出,信件长度的变化对整个系统的性能影响不大。这是主要是因为MAIL操作中大量的时间花费在用户与Mail服务器之间喋喋不休的交互上了,而信件处理占用的时间相对较小。通过各值的比较和反复实验发现,当信件长度为2K的时候,系统测得的数据最为稳定。因此把收发信件的长度定为2K

  

5.2

为了避免长时间等待,缩短评测时间,我们给POP3SMTP操作分别设置了超时时间。由于SMTP操作的时间比POP3要长,因此把SMTP的超时时间定为POP3的两倍。在使用1个节点做成的Mail服务器,让客户端创建96个线程模拟96个并发用户同时对Mail服务器操作时,得到的在一小时之内的超时操作的次数如图5.2所示,可以看到超时的时间从15s/30s增加到30s/60s时,超时次数下降250左右,而继续增加超时时间却下降不多,而且过多加长超时时间则必须使评测时间相应加长才能获得稳定可信的结构。基于上面两点的考虑,我们把POP3操作的超时时间定为30秒,SMTP60

§5.2 评测结果

对单个的Mail服务器,在不采用MailProxy中转时,其峰值速度为每小时能进行29091次“MAIL操作”,而通过MailProxy中介后为27634,可以看出MailProxy使系统性能下降了5%

为了使MailProxy不成为系统的瓶颈,必须得到MailProxy所能支持的Mail服务器地数量。通过实验,得到的数据如下:

节点个数

原文转自:http://www.ltesting.net