软件性能测试对象的不同类型

Life is short , play more!
本文来自lihao's Blog,转载请注明。

测试对象并不都是一成不变的。有时web app server, 有时数据库,有时中间件。但随着时间推移,发现不不是只有这些表面的不同。

在我看来,不同的测试对象,我们的目标是一样的。但有一种类型服务器的测试,会导致我们的测试策略会有显著的不同。那么我姑且先分为两类。

1. 快速响应的软件服务。

我们目的是测试该服务能够多快的响应给用户, 能够支持多少用户的并发,该系统每秒能够处理多少条业务。 针对于该类型软件服务, 其响应速度越快,支持的并发用户数越高,是越好的。 由于不同的服务业务类型,本身就会存在极限值,且并不大。
例如web app server, 最高最高可以到几千到1w左右的tps, 数据库读写, 中间件等,理论tps 不可能特别高。 针对于此类型的服务, 任何的性能测试加压机,不需更多数量就能很好的达到压力效果。 具体的区别只是在于测试用例的区别。

2. comet server 服务。

复杂的互联网应用,导致了各种类型的服务的出现。例如comet server服务。
comet server是解决推送服务的一种解决办法。 传统的有ajax异步调用等。但如果我们测试的是一种comet server 服务, 假设一台服务器能够支撑几万到几十万的用户推送,那么我们就必然要模拟这么多的用户进行测试,才能真正获得该服务的性能测试数据。 但是模拟几万到几十万的用户,相对于普通类型快速响应服务, 是数量巨大的。 我们需要更多的加压机,而且这么多加压机的协调工作,使得我们必须使用一个分布式的加压工具。 这本身就具有较大的难度和挑战性。

针对于此类型comet server 负载测试, 可以使用tsung和libevent进行。本作者对该工具并不熟悉,针对于这些工具,之后有时间再学习一下并做介绍。


发表评论

电子邮件地址不会被公开。 必填项已用*标注