SAAS邮件服务系统性能测试
比特网 12年04月16日 14:58 【转载】 作者:悠虎 责任编辑:周晓丽
导读:SAAS邮件服务作为一个云端服务,区别于传统的邮件服务系统,其性能要求也不尽相同,性能测试所需要考虑的因素也有所区别,但是总体来说衡量一个邮件系统的基本性能指标还是相似的。本文从SAAS邮件服务的性能指标开始分析,逐步剥离各种SAAS邮件服务的性能测试干扰因素,构架一个简单实用的测试框架。
除了平均邮件大小,邮件尺寸的真实分布也非常重要。在现实的SMTP过程中,DATA命令是逐行发送给下游的邮件服务器。所以,大邮件或者说超多行邮件对SMTP性能的影响是相当大的。同样在邮件策略的应用中如果有邮件内容检查,那么大邮件对性能指标的影响相当大。因此模拟合理的邮件尺寸分布对于邮件系统性能测试来说非常重要。当然,邮件尺寸的分布有一定的规律。那就是,带有下极限值的以平均邮件尺寸为轴的近似正态分布。什么意思呢,邮件有最小尺寸,因为他必须符合RFC定义,即使完全没有正文,也会有基本的邮件头。而说他是近似正态分布是因为,小邮件的数量相对偏多,特别是商务邮件,或者正常工作邮件。
第四弹,邮件并发度模型和网络拓扑
其实,所有邮件系统都有最大并发度限制,没有做限制的邮件系统早就被攻击致死了。所以,对于性能测试来说,需要考虑的是多种并发度条件下的邮件服务平台的表现,比如低并发度,中等并发度,高并发度,极限并发度测试等等。SAAS邮件平台处于公共网络,网络拓扑与其所处的网络环境相关。当然也没有什么特别复杂的地方,网络环境的参数在平台部署的时候就可以得到,需要考虑的是,是不是有类似的与流量相关的产品或者服务于该平台共享网络资源,独立分配的网络资源有多大,是否已经完全满足该平台的网络需求等等。
第五弹,SAAS邮件服务平台的策略应用
通常来说,SAAS邮件服务平台的邮件策略对performance会有较大的影响。策略包括:
1.SMTPsession中的策略:
a)DATA之前的策略对于DATA之前的策略,无论发生在什么阶段,对smtp的影响都相近,毕竟数据还没有真正开始传输。但是对于SMTP的并发度还是会有一定的影响。如果DATA之前拒绝邮件的比例较高,将大大提高总体SMTP速率。
b)DATA之后的策略在DATA之后,一般数据内容都已经被检查,那么对这封邮件所采取的行动将会是影响性能的一个因素。例如,是否要隔离 (DISKIO),是否要发送(NetworkIO),是否删除该邮件(消耗最少),是否要对邮件进行更改,包括打标签,水印,屏蔽某些内容等等(这种行动系统消耗最大)。
2.内容过滤对邮件内容进行特定的规则进行过滤,最常见的是关键字过滤,或者依据某种pattern。内容过滤对系统的需求很大,特别是对大邮件而言。
3.送信策略当需要发送给下游的时候,送信策略,特别是差错重传的策略对系统性能的影响也是比较大的。
4.用户数模型SAAS邮件服务平台的用户模型也非常重要,包括总体容量为最大支持多少用户数,一般有多少同时在线发信的上游邮件服务器,平均每个SMTP连接发几封信,平均每个邮件地址接受多少邮件量,等等,对性能影响也是显著的。特别是当SAAS邮件服务平台需要对不同的收件人(或者不同收件人的域名)采取不同的邮件策略的时候,用户数模型对性能的总体影响相当大。
第六弹,性能测试模型设计
前面把所有的相关要素都已经列举了一遍,那么性能测试模型就非常方便了。
1.测试工具,任何一种都可以,只要能产生相应的流量和测试邮件就可以。
a)测试工具的配置必须满足需求。特别是能够满足性能测试所需要的流量模型。
b)测试工具需要按照用户数模型来配置SMTP连接和邮件发送
2.测试邮件的选择。
a)按比例配置测试邮件来触发各种邮件策略
b)邮件发发送者和接受者符合用户模型