Web application的压力测试
bromon原创 请尊重版权
在MS的网站上发现了一个挺不错的小东西:MS Web Application Stress Tool (was)。这是一个web应用压力测试工具。它是免费的,这一点很重要,否则MS的版权大棒又要来了。
如今B/S结构横行,基于浏览器的应用多如恒河沙数。我们也投入了太多的时间在web技术上,我们努力提高开发效率,花大量时间研究各种脚本,轻量级框架,mvc框架,也许我们可以多投入一些时间关注一下系统执行效率,做做压力测试。
Was的使用非常简单,只需要配置好测试脚本,它就可以开始运行,然后给你一个非常详细的报告。脚本的配置有多种方式:
◇ 自行编写测试脚本
◇ 让was记录你在IE中的操作
◇ 让was读取server的log,生成脚本
◇ 指定url地址,生成脚本
我的原则是速战速决,对于这样一个小工具,没有必要花太多时间去研究细节,让它自己记录我的IE操作吧,下面列出操作过程。
选 择菜单:scripts_create_record,在出现的窗口中选择记录哪里信息,全选也无所谓,next__finish,系统会弹出一个IE窗 口,该窗口中的所有request-response都会被记录到测试脚本中。需要注意的是该窗口需要比较高的权限,所以请暂时关闭上网助手之类、广告拦 截之类的东西。
在该窗口中你可以随意操作你的web程序,把要测试的模块都跑到。完成之后直接关闭IE,然后点击”stop recording”,一个测试脚本就完成了,实在够傻瓜,不愧是MS的东西啊,体贴我这类懒人。
展开刚建好的测试,选择”setting”,指定Stress level(threads)的值,同时连接server的并发数。Ok,选择菜单:scripts_run,开始折磨你的机器吧。
测试完成之后,选择菜单:view_reports,可以看到测试结果报告。相当详细,多少次操作,多少数据量,每个页面花多少时间都看得一清二楚,爽啊。
测试报告中,有两个术语很重要,在”page summary”中,有两个指标:TTFB和TTLB。
TTFB Avg是指:从第一个请求发出到测试工具接收到服务器应答数据的第一个字节之间的平均时间。
TTLB Avg是指:从第一个请求发出到测试工具接收到服务器应答数据的最后一个字节之间的平均时间。
Tutorial: http://www.microsoft.com/technet/archive/itsolutions/intranet/downloads/webtutor.mspx
Download: http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en