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. November 19th 2016 Week 47th Saturday

    Nature didn't need an operation to be beautiful. It just was. 自然之美无需刻意而为,其本身即为美. Recently I saw seve ...

  2. [EffectiveC++]item26:尽可能延后变量定义式的出现时间

  3. 【笔记】关于TCP三次握手和四次挥手的理解

    1. 三次握手: 服务器一定处于Listen状态,否则客户端发过来的连接会被拒绝.注:服务器和客户端的角色是相对的. 客户端发送第一次握手(客户端发送连接请求(SYNC包)到服务器)之后由Closed ...

  4. 1031. [JSOI2007]字符加密【后缀数组】

    Description 喜欢钻研问题的JS同学,最近又迷上了对加密方法的思考.一天,他突然想出了一种他认为是终极的加密办法 :把需要加密的信息排成一圈,显然,它们有很多种不同的读法.例如下图,可以读作 ...

  5. playbook-拓展

    一.Handles 1. Handlers 在发生改变时执行的操作 2. handlers也是一些task的列表,通过名字来引用,它们和一般的task并没有什么区别. 3. handlers是由not ...

  6. 【转】Android 旋转动画,停止和持续旋转

    旋转180度后停止 RotateAnimation rotate; rotate =new RotateAnimation(0f,180f,Animation.RELATIVE_TO_SELF, 0. ...

  7. ethers.js-6-Low-Level API

    Low-Level API These are advanced, low-level API features that should, for most people not be necessa ...

  8. c++ const static

    const作用: 1.定义常量,可以保护被修饰的东西,防止意外的修改,增强程序的健壮性. const int Max = 100; void f(const int i) { i=10;//error ...

  9. Python自动化之form验证

    model里面进行数据验证 在类里面定义一个clean方法 class User(models.Model): def clean(self): #在这个可以做一些验证的操作 pass 还可以手动抛出 ...

  10. java 泛型数组列表

    如下代码: package com.company; import java.lang.reflect.Array; import java.util.ArrayList; public class ...