• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何调整软件压力测试工具

发布: 2011-1-12 09:28 | 作者: 不详 | 来源: 领测测试网采编 | 查看: 103次 | 进入软件测试论坛讨论

领测软件测试网

  图2显示维持稳定的请求速度的能力最初是受制于线程数目的。同样这也不能说明问题,因为有理由假定,在超出特定的线程数目阈值之前,不能维持合理的服务器负载。图2也显示,一旦超出了服务器处理请求的能力,线程的增加对工具向服务器发出请求的整体速度的影响就不明显了。另外一点是,这些“额外”的线程所造成的响应时间的增加确实暗示它们影响了系统的负载。

  图2

  问题在于:为什么不增加服务器负载的线程看起来会降低服务器的性能?一个可能的答案就是,并不是线程降低了服务器的性能,而是服务器一结束对线程的服务,线程就被排队了。因为测量响应时间的计时器必须在将请求发送给服务器时启动,在收到响应时停止,所以响应时间必然包括线程在队列中等待服务的所有时间,再加上服务时间。因为线程一离开就进入系统,就造成了这样的情况:线程必须等待其他每个线程完成后才能被服务。在这种场景下,线程越多就会造成队列和响应时间越长。

  利托氏定理告诉我们,这种系统是发散的,而由此可以得出结论:工具妨碍了确定真正的瓶颈(如果存在的话)的能力。

  放慢速度,做得更多

  利托氏定理包括两个部分:服务时间和频率。如果我们以工具的眼光来看世界,那么我们会发现我们不能控制服务时间。但是我们确实能控制频率。既然前面的工作说明我们进行得太快了(或者说在错误的方向上进行得太快了),而我们惟一能控制的就是频率,那么我们惟一能做的就是放慢速度。我们可以通过在每两个请求之间插入间歇来达到这个目的。这将会降低单个线程启动请求的速度。间歇会降低线程在队列中的时间,从而提供更符合现实的响应时间。

  为了测试,我们将启动50个经过调整的每秒产生9个请求的线程。如果我们发现不能维持合理的请求速度,这些值还可以调整。使用响应时间来评价效果。最后要设置的是间歇时间。可以使用由先前运行得出的数据来帮助我们做出决定。

  回到图1,我们可以看到,8到9个RPS会产生2到3秒的响应时间。利托氏定理告诉我们,我们需要足够的线程,以便在2到3秒的时间帧后就可以自由进入系统(假定可以提高平均响应时间)。因此平均的间歇时间大约是3秒。为了练习,我们将运行一系列的测试来探讨值的范围。

  第一次测试使用2到2.5秒之间的一个随机选取的值。这个范围的值的平均间歇时间是3.5秒。可以利用这条信息计算请求的理论速度:用50(线程数目)除以3.5+2(目标响应时间的估测值)。得到的值是9.1RPS。第二次测试使用3到6秒之间的一个随机值。最终测试使用4到6之间的值。这些测试的结果如图3所示。

  图3

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网