如何学习性能测试

由于移动互联网时代的崛起,大量的电商网站、P2P网站还有很多移动APP的崛起,导致了客户端的多样性。同时也增强了服务器端的压力,那么服务器端的性能和压力测试将是保证服务器稳定性的一个至关重要的环节。

目前,很多同学也想学习和进入性能测试的领域,而互联网时代又是一个知识爆炸的时代。网络上性能测试的资料五花八门,有讲LoadRunner,有讲Jemter。那么,我们在做性能测试之前应该先了解什么呢?打一个比方,性能测试好比一位电工所具备的电原理和实际操作的技能,而LoadRunner和Jmeter仅仅是作为一名电工所需要会使用的工具,如扳手和钳子等。那么,反过来问一个问题,只要会使用扳手和钳子的人就都是电工吗? 当然不是。作为一名专业的电工他还需要具备接线、改电路等一系列的工作的能力。同样,做性能测试更重要的在于如何去分析和如何去找到产品性能的瓶颈。话说回来,会使用扳手和钳子是作为电工最基础的技能。而我的建议是在大家学习性能知识之前先从宏观上了解性能测试是怎么回事情,然后再深入的学习工具。

这篇文章将简单介绍性能测试是如何进行的:

如何学习性能测试_第1张图片

此图是典型互联网产品的体系架构,客户端+服务器的模式。大家可以从这幅图上看出,当客户的数量不断增加时,对服务器的压力也是在不断增大。

首先,我们看看在一台机器上如何对服务器进行压力测试:

如何学习性能测试_第2张图片

这是单机多线程的压测方式,每一个线程模拟为一个用户。但是单机压测只能做简单尝试性压测,当单台机器上线程数超过一定数量后,将会大量消耗压测机的系统资源,从而导致压测效果变差。被压服务器一般性能都非常好。打个比方,单机压测就好比:一个普通人和一个专业的拳击手打架,通常情况下是打不过的。但是,如果采用多对一的模式,如:10个普通人和一个专业拳击手打架,专业拳击手可能就干不过了。接下来,看多机模式。

如何学习性能测试_第3张图片

在多机模式下,一般有一个中控机,他负责发送命令,让多台施压机同时进行数据请求。这样服务器收到的压力会更大,并且不会受到施压机资源的限制而导致数据不准确。

选择LoadRunner还是Jmeter?
LoadRunner是付费的商业软件,LoadRunner8.0: Contorller 55000美元,Monitor 75000美元,支持最大虚拟用户数:100(123000美元)、500(206000美元)、1000(309000美元)。而使用开源的Jmeter性能工具成本为零。

Jmeter和Loadrunner 比较

如何学习性能测试_第4张图片

Loadrunner支持的测试协议更广,图形分析能力更强,易用性也强一些,但是这些不是质的差别,LoadRunner的基本功能,Jmeter都具备只是没有那么完善而已。由于LoadRunner的价格非常昂贵,因此这些差距是完全可以接受的,特别是对于中小软件企业而言。

你可能感兴趣的:(软件测试,自动化测试,性能测试)