E-mail服务器测试方法

时间:2008-11-26   来源:   网友评论:0   人气: 69 作者:

本次测试分为性能测试与功能测试两部分。

    测试工具采用思博伦通信(Spirent Communications)公司提供的Avalanche 2200。Avalanche 2200模拟实际的用户发出向服务器的请求(包括SMTP和POP3),并根据回应给出具体的详细测试结果。它有以下特点:能够模拟成百上千的客户端对服务器发出请求;能够模拟真实的网络应用情况;可以产生20000个连接/秒请求量,足以满足测试的需要。

    监控端安装了带SP2的Windows 2000 Server。测试环境如下图所示。两台被测服务器(软硬件配置均相同)直连,并且分别通过交换机(港湾的礖ammer24交换机)与Avalanche 2200的测试端口连接在一起。为了方便管理,我们使用了Avocent KVM交换机,通过远程的方式就可以方便地控制多台服务器。


    为了将测试环境和测试模型尽量模拟为实际邮件系统的运行情况,我们在测试方法上作了充分的考虑。第一,采用两台服务器建立的邮件系统。一台服务器只有本地投递而没有远程投递的情况,对邮件系统的压力不大,而用户实际的使用情况肯定会包括远程投递的情况,因此我们进行了两台服务器的邮件系统测试。第二,采用多域测试。两台服务器分别配置独立的DNS服务器,并指定多域名(5个域名)。第三,采用多账号测试。我们在每个域里建立200个账号,一共1000个账号。测试时,两台服务器的用户之间相互发送邮件,占总数的90%,同时,每台服务器内部的用户之间互发邮件,占总数的10%。第四,发送邮件大小满足一定分布。发送邮件大小分别为:400、1000、2000、4000、10000、20000、40000和100000字节。

    具体测试过程由4个阶段组成,第一阶段是预热阶段,Avalanche发出的发送邮件请求量由0慢慢上升到10/s;第二阶段是逐步加压阶段,请求量逐步增加到510/s(此数值超过所有参测邮件系统的最高能力);第三阶段是维持阶段,请求量保持不变;第四阶段是下降阶段,请求量由最大值下降为0。最后得出服务器的最大并发数,同时还会提供成功百分比、往返延迟等结果。

    POP3协议的各项操作有CHECK、LIST、RETR、DELETE等,每种测试方法与SMTP大致一样。本次参测的邮件系统都提供了账号安全保护功能,对于同一个电子邮件账户,只允许同时一个用户用POP3接收邮件,而进行压力测试,必须同时发起大量的POP3连接,因此,我们只是作了DELETE的验证(每个账号只登录一次进行DELETE操作)。

    服务器接收到邮件以后只是存储到本地然后建立起索引就向用户发送“成功”信息,因此,用户什么时候真正收到邮件得不到反映。所以,我们设计了一个方法对账号究竟多长时间收到邮件进行了考察。我们自己编了一个程序,使用一台服务器上的100个账号(每个域使用20个账号)向另一台服务器上的100个账号发送1000封邮件,每封邮件长度为20K字节。发送完成以后马上对被发送账号进行检查,得出收到邮件数目,然后在5分钟以后再次进行检查,如果没有完全收到,那么再过5分钟进行检查,直到1000封邮件都收到为止。

    每种测试都进行三遍,每遍之间服务器和测试仪均重启,结果取三次的平均值。

    在功能测试方面,我们着重考察了安全性、多域管理以及邮件存储等方面,同时,还考察了系统运行平台、系统支持能力、用户服务能力、邮箱管理能力等。我们还对系统的管理、客户端的管理、整个系统的易用性等几个方面进行考察。

文章评论