Jmeter实现webservice的压力测试

来源:互联网 发布:算法精解怎么样知乎 编辑:程序博客网 时间:2024/05/22 08:02

Jmeter和soupUI同样可以用于对ws服务的压力测试,不同之处在于:

1.soupUI是专门针对ws服务设计的测试工具,即包括一般的功能性测试,也能包含针对ws服务的压力测试;Jmeter是适合于java场景下对各种协议进行测试的通用性压力测试工具。

2.可扩展性来说,soupUI作为一个ws的定制化工具,可扩展性相对受限,常用的定制化主要体现在对断言的编程上;Jmeter提供了一个压力测试的编程平台,可以根据具体的业务场景进行不同的协议测试,包括所需要监视的点,需要的断言,都可以进行自己编程实现,而且各个模块之间的耦合非常松散。

3.简单来说,一个更专注于协议(soupUI),一个更专注于压测(Jmeter)。

以ws协议为例,记录使用jmeter进行压力测试的方法,同时也在这个过程中比较soupUI和Jmeter的使用异同。

为了避免对线上其他服务造成性能影响,首先用soupUI在本次模拟出一个ws服务,该服务提供翻译功能,即把英文单词翻译成相应的中文单词。


使用soupUI模拟ws服务的方法,在另一篇博客中有说明,此处不赘述:soupUI简易使用手册

然后进入到Jmeter页面。

1.建立新的压力测试project



2.选择

3.然后在展示的test plan上新建线程组:


4.然后在线程组上添加ws请求:


5.为了判断结果是否正确,可添加断言(这里使用响应断言):


6.使用包含断言:


7.然后相应的添加对结果的判断:


用于结果判断的查看。

然后调整线程组的参数,可以查看具体的性能表现,包括吞吐率/响应时间等。

根据不同的业务场景,设置不同的监视器,用于查看压测过程中的各个参数。

同时对于某个组织内部的协议,使用Jmeter可以开发自己协议的针对性组件,用于内部协议的测试,而其他的组件如监视器,可以进行复用。

0 0