Jmeter+Badboy安装使用文档

 

 

 

目录

 

1、jmeter安装    1

2、Jmeter基础使用    3

3、 使用Jmeter进行分布式测试    10

4、badboy安装    11

5、badboy+Jmeter录制及导出测试    12

 

 

 

Jmeter介绍:

JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其他资源)。原先Jmemer是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。

备注

jmeter安装启动报错:Not able to find Java executable or version. Please check your Java installation,请执行以下操作:

在环境变量PATH中添加:%SystemRoot%/system32;%SystemRoot%;

1、jmeter安装

1、下载jmeter,官方网址为http://jmeter.apache.org/(选择下载Binaries类型的安装包,不要选择Source类型,不然会出现Unable to access jarfile ./ApacheJMeter.jar的报错)

(安装前确保已经安装java)

2、下载完成后,直接解压缩,在jmeter的bin目录下,找到jmeter.bat文件,双击运行

 

 

3、主界面如图所示:

除此之外还有一个命令框,不能关闭,一关闭jmeter也会关闭

 

 

 

2、Jmeter基础使用

程序运行以后,我们可以看到,JMeter是以测试计划的形式组织测试的。在测试计划上点击右键,选择"添加",我们可以看到,JMeter主要包含了以下内容的组件:

 

 

 

1、线程组(Threads)——代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,所有请求均需要被线程组包含。

2、测试片段(Test Fragment)——测试片段是一种特殊类型的控制器,它在测试计划中与线程组同级。测试片段与线程组的区别在于:在一个测试计划中,线程组自身是会被执行的,而测试片段自身并不会被执行。只有当测试片段被一个模块控制器引用,或被包含在一个控制器中时,才会被执行。简单的说,我们可以将线程组理解为入口函数,将测试片段理解为私有函数,测试片段只有在被调用时,才会被执行。

3、配置元件——配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。

4、定时器——定义请求之间的延迟间隔。

5、前置处理器、后置处理器 - 负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

6、断言——用来判断请求响应的结果是否如用户所期望的。它可以用来检查测试的有效性,隔离问题域,在确保功能正确的前提下执行压力测试。

7、监听器——负责收集测试结果,同时以多种方式进行显示。

 

 

 

 

 

 

 

 

 

 

 

 

简单例子:

1)先添加一个线程组,并进行线程并发量的设置:

 

 

其中,

1)线程数-表示JMeter将发起多少个线程进行目标访问

Ramp-Up Period – 表示JMeter将在多长时间(以秒为单位)内将这些线程发起完毕

循环次数 – 表示JMeter将对当前的线程组进行多少次循环访问

  1. 建立采集器(Sampler),向线程组中添加一个Http请求的采样器

     

     

    配置如下(Apache server (Http)的默认端口是80;SSL (Https)的默认端口是443)

     

  2. 添加监听器,这里添加一个"图形结果"和一个"用表格查看结果"。

     

    4)运行启动测试,查看结果

    运行测试,查看图形结果,我们可以看到所有访问的数据量、访问时间平均值、中值、访问的偏离量(访问时间与中值时间的差)、吞吐量。

    如图,查看图形结果,可看到访问的数据量、访问时间平均值、中值、访问的偏离量(访问时间与中值时间的差)、吞吐量

    如图,查看表格结果,可看到所发起的线程、开始时间、采样时间、状态(是否访问成功)、访问传输的数据量、访问延时、以及访问时间等内容。

     

     

    5)结果分析

    通过监听器获得的结果,可以进行导出,之后再对这些结果做进一步的数据分析,即可估算衡量网站的性能情况。(常用的监听器除了上面两种还有聚合报告)

     

  3. 使用Jmeter进行分布式测试

    JMeter也可以像 LoadRunner 一样通过使用多台机器运行所谓的代理来分担负载产生器自身的压力,并借此来获取更大的并发用户数,只需手动配置一下即可。

    1、在所有期望运行JMeter作为负载产生器的机器上安装JMeter,并确定其中一台机器作为控制器,其他的机器作为代理。然后运行所有 代理机器上的JMeter-server.bat文件—假定我们使用两台机器172.20.80.47和172.20.80.68作为代理;

    2、在Controller机器的JMeter安装目录下找到bin目录,再找到 jmeter.properties 这个文件,使用记事本或者其他文字编辑工具打开它;

    3、在打开的文件中查找"remote_hosts="这个字符串,你可以找到这样一行"remote_hosts=127.0.0.1"。其中的 127.0..0.1 表示运行JMeter代理的机器,这里需要修改为"remote_hosts=172.20.80.47,172.20.80.68";

    4、保存文件,并重新启动控制器机器上的JMeter,并进入启动 ——远程启动菜单项。就会看到我们刚才添加的两个代理的地址,选中即可运行,如果想同时启动所有代理,选择远程全部启动即可。

    5、要进行分布式测试代理机器上需要添加环境变量,即添加用户变量JMETER_HOME=d:\jmeter,系统变量中的path中添加d:\jmeter\bin(假设jmeter放在d盘根目录下)

    4、badboy安装

  4. 在官网下载(http://www.badboy.com.au/download/index)badboy软件
  5. 下载完成后直接点击exe文件进行安装,跟平常软件安装一样,这里就不详说。
  6. 安装完成后点击图标,可看到badboy的IDE界面,如下图

     

     

    5、badboy+Jmeter录制及导出测试

    下图是对界面进行的一些注解,看完可大概了解其基本运用

     

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

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

    3)开始录制后,你可以直接在Badboy内嵌的浏览器(主界面的右侧)中对被测应用进行操作,所有的操作都会被记录在主界面左侧的编辑窗口中(图中方框标注的部分)。

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

     

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

  8. 启动JMeter,点击文件-打开,选择刚刚生成的测试脚本,就可以用JMeter进行测试了

     

Jmeter+Badboy安装使用文档的更多相关文章

  1. Xcode离线安装帮助文档

    Xcode离线安装帮助文档   1.在线查看帮助文件:Xcode下查看帮助文件,菜单Help-Developer Documentation在右上角搜索框中即可检索,但速度很慢,在线查看. 2.下载帮 ...

  2. CM5(Cloudera Manager 5) + CDH5(Cloudera's Distribution Including Apache Hadoop 5)的安装详细文档

    参考 :http://www.aboutyun.com/thread-9219-1-1.html Cloudera Manager5及CDH5在线(cloudera-manager-installer ...

  3. Visual Studio 2010 安装帮助文档问题

    今天重装系统,装完VS2010后,如往常一样安装文档,却弹出如下错误"Could not create the local store in the specified folder.... ...

  4. keepalived双机热备,安装部署文档

    keepalived双击热备,安装部署文档: 下载目录:/apps/keepalived-1.2.7.tar.gz 1:---> yum install -y make wget 2:---&g ...

  5. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  6. EasyGBS国标流媒体服务器GB28181国标方案安装使用文档

    EasyGBS - GB28181 国标方案安装使用文档 下载 安装包下载,正式使用需商业授权, 功能一致 在线演示 在线API 架构图 EasySIPCMS SIP 中心信令服务, 单节点, 自带一 ...

  7. LVS+Heartbeat安装部署文档

    LVS+Heartbeat安装部署文档 发表回复 所需软件: ipvsadm-1.24-10.x86_64.rpmheartbeat-2.1.3-3.el5.centos.x86_64.rpmhear ...

  8. (转)SQL Server 2012 手动安装帮助文档+排错

    逆天SQL Server 2012装的不要不要的,最后发现...竟然没帮助文档...汗啊!原来它跟vs一样要自己装帮助文档...好吧,官网一下载,妹的...报错...然后就让我们还原这个安装过程以及逆 ...

  9. 关于SQL Server 2012 手动安装帮助文档

    大家以为安装帮助文档很简单,但是其实不然,这其中还有那么一点点道道.今天我就来给大家演示一下! 首先到microsoft官网上下载Microsoft SQL Server 2012 产品文档,然后将. ...

随机推荐

  1. December 02nd 2016 Week 49th Friday

    People will fall for its appearance while driving passionately. 观者倾心,驭者动魄. An advertisement of Merce ...

  2. 021.14 IO流 管道流

    用的频率不高特点:读取管道和写入管道对接,需要是用多线程技术,单线程容易死锁 使用connect方法连接两个流,实现边读编写,和node.js的管道流差不多 //##主函数位置 public stat ...

  3. 终端复用工具 tmux 基本操作教程

    简介 在 Linux 操作环境下,终端操作是发挥 Linux 强大命令功能的重要途径,但在本地主机操作中,针对不同任务开启不同的终端,在使用时进行频繁的终端切换在某些场合下是一种使人分心和疲惫的操作, ...

  4. angular 生命周期钩子 ngOnInit() 和 ngAfterViewInit() 的区别

    angular 生命周期钩子的详细介绍在 https://angular.cn/guide/lifecycle-hooks  文档中做了介绍. ngOnInit() 在 Angular 第一次显示数据 ...

  5. T440安装Win7系统

    于T440自带的是Win8系统,硬盘格式为GPT分区格式,而Win7必须要MRP格式,所以必须要将硬盘格式从GPT修改为MRP,方法如下: 准备工作,下载”电脑店U盘启动盘制作工具“(百度一下,去官网 ...

  6. Uva10048 Audiophobia (Floyd)

    题意:有一个无向带权图,求出两点之间路径的最大边权值最小能为多少. 思路:使用floyd算法跑一边以备查询,每一次跑的过程中dp[i][j]=min(dp[i][j],max(dp[i][k],dp[ ...

  7. python第十课——循环结构收尾

    2.4.time模块的初体验 sleep(sec)函数:程序一旦执行到sleep()函数,会立即休眠sec秒,等到时间到了,自动醒过来,然后继续往下执行... 思路步骤: 第一步:导入time模块 i ...

  8. 在myeclipse的工作环境上配置默认编码为UTF-8

        将默认环境转为UTF-8,看图分析: 在windows->Preferences上 这样整个环境就变成UTF-8,只是这样还不够, 还须要,假设你须要所有文件都设为UTF-8,就: wa ...

  9. 既生 Redis 何生 LevelDB ?

    了解 Redis 的同学都知道它是一个纯内存的数据库,凭借优秀的并发和易用性打下了互联网项的半壁江山.Redis 之所以高性能是因为它的纯内存访问特性,而这也成了它致命的弱点 —— 内存的成本太高.所 ...

  10. ArrayList实现原理及源码分析之JDK8

    转载 ArrayList源码分析 一.ArrayList介绍 Java 集合框架主要包括两种类型的容器: 一种是集合(Collection),存储一个元素集合. 一种是图(Map),存储键/值对映射. ...