正在阅读:Apache JMeter web性能测试实例Apache JMeter web性能测试实例

2008-01-05 09:53 出处:PConline原创 作者:非常可乐 责任编辑:gongjianhui

  运行负载测试
  
  用户可以通过单击Ctrl+R运行负载测试,或者从菜单中选择Run并单击Start运行负载测试。单击图形元件,将会看到图表被填充,数据代表对服务器的请求,如图4至6所示。

  

说明测试结果的图表

  图4:说明测试结果的图表。线程数=5,等候时间=10,循环数=100。循环控制器设置为1。

  我们选择在图表中显示三个参数——吞吐量(绿线)、中间值(紫线)和平均值(蓝线)。我们对测试参数进行修改。为了模拟服务器上的较高负载,我们将线程数提高到10和50并比较服务器的响应时间。再次单击Start并观查图表中显示的结果;参见图5和图6。

  

说明测试结果的图表

  图5:说明测试结果的图表。线程数=50,等候时间=5,循环数=20,循环控制器设置为1。

  图表底部参数的含义如下:

  吞吐量是服务器每分钟处理的请求数。
  平均值是总运行时间除以发送到服务器的请求数。
  中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
  偏离表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
  最后的样本就是最后完成的请求。
  只要观察这三次运行及它们的相应图表,我们就可以得到下列有价值的结果:

  

结果

  响应时间很明显地随着线程的增加而增加。若要继续进行测试,我们可以更改线程数、等候周期和循环数。注意:我们没有更改或调整服务器的配置。WebLogic Server 9.0中有一个可自动配置的线程池,其配置范围受到限制(请参阅Naresh Revanuru撰写的 Workload Management in WebLogic Server 9.0 ,Dev2Dev),上表说明客户端数量的增长对服务器响应时间的影响是非线性的。实际上,将这个数字提高两倍或十倍不会产生明显的影响!然而,使用接近或超过默认服务器限制的线程数来运行同一个试验时应引起注意。为了检验从服务器收到的响应是真实的SOAP响应而不是HTTP错误,我们观察下列输出文件的内容。这是符合上面要求的SOAP响应:

  <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<m:calculateAreaResponse xmlns:m="http://myservice">
<m:return>12</m:return>
</m:calculateAreaResponse>
</soapenv:Body>
</soapenv:Envelope>

  为了使测试结果更加可视化,向计划中添加Spline Visualizer,它紧靠着Graph Results。Spline Visualizer提供了关于所有样本次数的视图。它用分段插入功能绘制出一条连续的线,在绘制时跨越10个点,每个点代表10﹪的样本。在样条图表中用直线取代连接点,提供了基于多项式近似算法的平滑分布视图。结果如图7所示

  

使用Spline Visualizer说明与图6相

  

  图6:使用Spline Visualizer说明与图6相同测试结果的图表(单击图像查看完整尺寸的屏幕截图)

  Multiple JMeters

  JMeter还具有一项十分有用的Remote Start功能,它允许用户从多台机器启动JMeter测试。客户端主机地址可以输入到位于bin文件夹下的“jmeter.properties”文件中。找到remote_hosts属性并在那里添加远程主机名称,使用逗号进行分隔。重新启动Jmeter,在Run菜单中单击Remote Start或Remote Start All。某些Web和应用程序服务器可连续处理同一个IP地址的多个请求以及并行处理不同IP地址的请求,因此,对于请求来自不同的机器或将测试负载分布到几个客户端显得十分关键的情况,可以使用该选项来执行操作。

键盘也能翻页,试试“← →”键

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品