实验五(第10、11周)
采用Jmeter进行压力测试,要求对学校内的网址进行测试,并发进程数小于100。实验报告对最终的图形结果进行截图。
参考教程
Jmeter介绍
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Jmeter下载
Jmeter2.8
操作步骤
首先,下载压缩包并解压,在bin文件夹下找到jmeter.bat文件,双击运行(要求计算机已经配置了java的运行环境)。
打开后的界面如下:
1.右击测试计划,添加线程组
生成的界面如下:
当前的页面有三个重要参数:
线程数: 模拟运行的用户的数目
Ramp-Up Period: 运行一次的时间间隔
循环次数:运行结束后,是否循环运行
注意:线程数和循环次数不要过大,否则造成电脑资源耗尽,进而导致电脑死机。
2. 添加foreach控制器
这里的foreach控制器,会遍历要访问的url。页面如下所示,在输入变量前缀处输入val,在输出变量名称处输入returnVal。两个名称可以修改,但是要记住这两个名称。
3.添加url
右击foreach控制器,添加-配置元件-用户定义的变量,在页面中,点击底部的添加按钮,并在记录行中填写数据。名称列下面使用前面的输入变量前缀,用下划线—分隔。
4.添加一个http请求
好了,有了数据之后,其实我们还少了一样东西,我们是要做访问页面的请求,其实这里还少了一个发动请求的控件。这里我们添加一个http请求。在页面的路径处填写${输出变量名称}。这个${}表示取值的意思,returnVal其实和前面那个forEach控件里面的returnVal对应,这样一来,我们就可以明白这整个流程了。
对于每一个http请求,它会去取forEach控件中的returnVal的值,而returnVal的值来自对前缀为url的值的遍历结果。
写到这里,其实就差不多了
5.添加一个监听器
这里的目的是查看结果,既可以使用查看结果树,也可以使用图形结果。之后点击界面上面的绿色三角,启用运行即可。
查看结果的树的结果如下图:绿色部分是访问百度的结果,红色表示访问失败,是测试谷歌的结果。
测试百度的图形结果如下,可以查看平均访问百度的时间以及系统的吞吐量。