良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

Jmeter的学习使用笔记(录制脚本,压测web实例)

通过Jmeter自己生成脚本,对web进行简单的测试,这是今天的测试结果:

a.先创建个新的线程组:

jmeter学习1.png


b.再添加一个循环控制器:

jmeter学习1.png


c.再加个http请求

jmeter学习1.png


d.设置http请求,这里写好需要访问的内容:

jmeter学习1.png

一个HTTP请求有着许多的配置参数,下面将详细介绍

  名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

  注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

  服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

  端口号:目标服务器的端口号,默认值为80 。

  协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http 。

  方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

  Content encoding :内容的编码方式,默认值为iso8859

  路径:目标URL路径(不包括服务器地址和端口)

  自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

  Use keep Alive : 当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。

  Use multipart/from-data for HTTP POST :当发送HTTP POST 请求时,使用Use multipart/from-data方法发送,默认不选中。

  同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

  同请求一起发送文件:在请求中发送文件,通常,HTTP文件上传行为可以通过这种方式模拟。

  从HTML文件获取所有有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行Parse 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。

  用作监视器:此取样器被当成监视器,在Monitor Results Listener 中可以直接看到基于该取样器的图形化统计信息。默认为不选中。

  Save response as MD5 hash? :选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销。


设置完毕,就可以开始测试了。但是得查看报告,需要添加:

jmeter学习1.png

然后就可以开始测试了,这里设置了线程的属性,访问10000次,在100秒内完成。

jmeter学习1.png


点击jmeter.png开始,可以jmeter.png查看日志。等跑完后就可以查看结果了:

jmeter学习1.png


jmeter学习1.png

聚合报告显示测试结果

  Label:每个 JMeter 的 element (例如 HTTP Request )都有一个 Name 属性,这里显示的就是 Name 属性的值

  #Samples:表示你这次测试中一共发出了多少个请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100

  Average:平均响应时间 — 默认情况下是单个 Request 的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间

  Median:中位数,也就是第50 %用户的响应时间,理解成100人第50名的访问时间

  90% Line: 第90 %用户的响应时间,理解成100人第90名的访问时间

       95% Line: 第95 %用户的响应时间,理解成100人第95名的访问时间

       99% Line: 第99 %用户的响应时间,理解成100人第99名的访问时间

  Min:最小响应时间

  Max:最大响应时间

  Error%:错误率,本次测试中出现错误的请求的数量 / 请求的总数

  Throughput:吞吐量 —— 默认情况下表示每秒完成的请求数( Request per Second )

  KB/Sec:每秒从服务器端接收到的数据量


  如果比较复杂的页面录制,这里推荐使用BadBoy:利用BadBoy进行脚本录制

  通过Badboy的官方网站(http://www.badboy.com.au)下载Badboy的最新版本,只需填邮箱,很方便;

  安装Badboy。安装过程同一般的Windows 应用程序没有什么区别,安装完成后你可以在桌面和Windows开始菜单中看到相应的快捷方式——如果找不到,可以找一下Badboy安装目录下的Badboy.exe 文件,直接双击启动Badboy;

  启动Badboy,你可以开始录制了。


  录制步骤:

  在地址栏(图中红色方框标注的部分)中输入你需要录制的Web应用的URL——这里我们以http://www.uouo123.com 为例 。

  点击 开始录制 按钮(图中蓝色圆圈标注的部分)开始录制。

  开 始录制后,你可以直接在Badboy内嵌的浏览器(主界面的右侧)中对被测应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中(图中黄色方框标 注的部分)——在这个试验中,我们在baidu的搜索引擎中输入 JMeter 进行搜索。不过录制下来的脚本并不是一行行的代码,而是一个个Web对象——这有点像LoadRunner的VuGen中的Tree View视图;

  录制完成后,点击工具栏中的“停止录制”按钮(图中紫色方框标注的部分),完成脚本的录制

jmeter学习1.png

  选择“File -> Export to JMeter”菜单,填写文件名“baidu.jmx”,将录制好脚本导出为JMeter脚本格式。也可以选择“File -> Save”菜单保存为Badboy脚本;

  启动JMeter并打开刚刚生成的测试脚本,就可以用JMeter进行测试了


留言列表
发表评论
来宾的头像