Windows下使用JMeter
简介
Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。
另外,JMeter能够用断言创造测试脚本来验证应用程序是否返回了我们期望的结果,从而帮助我们进行回归测试。为了得到最大的灵活性,JMeter允许我们使用正则表达式创建断言。
安装
windows版本
下载最新版本
http://jmeter.apache.org/download_jmeter.cgi
编写本文时最新版本 2.12 (要求 Java 6 或更高)
解压zip/tar文件到任意目录。
确保正确安装JRE/JDK并且设置环境变量JAVA_HOME。
避免在一个有空格的路径安装 Jmeter,这将导致分布式测试出现问题。
运行
用户界面模式
运行 bin 目录中的 JMeter (for Unix) 或者 JMeter.bat (for Windows) 文件。
服务器模式
为了分布测试 ,可以使用服务器模式运行JMeter,然后通过用户界面/或命令行控制每一台服务器。
运行 bin 目录中的 jmeter-server (for Unix) 或者 jmeter-server.bat (for Windows) 文件。
命令行
使用命令行运行:jmeter -n -t filename.jmx
-n 这是指定JMeter在非用户界面模式运行
-t [包含测试计划的JMX文件的名字]
作为分布式的其中一台主机:jmeter-server -H my.proxy.server -P 8000
-H [代理服务器主机名或者ip地址]
-P [代理服务器端口,默认1099]
控制分布式主机执行脚本:jmeter -n -t filename.jmx -R 192.168.101.116:1099,192.168.101.113:1099
通过代理服务器连接网络:jmeter -H my.proxy.server -P 8000
-H [代理服务器主机名或者ip地址]
-P [代理服务器端口]
测试计划
一个测试计划描述了一系列JMeter运行时要执行的步骤。一个完整的测试计划包含一个或者多个线程组(thread groups),逻辑控制(logic controllers),取样发生控制(sample generating controllers),监听器(listeners)定时器(timers),断言(assertions)和配置元件(configuration elements)。
添加和删除元件 ( Elements )

在一个树上通过右击可以添加元件到一个测试计划 ,从“add”列表中选择一个新元件。或者通过选择“open”选项从文件加载。

删除元件,确保元件被选中,在元件上右击,然后选择"remove"选项。
加载和保存元件

从文件加载元件,右击目标元件,选择“open”选项,然后选择你的元件保存文件。JMeter将载入文件中的所有元件。

保存树元件,在一个元件上右击,选择“save”选项。JMeter会保存已选的元件,加上所有下面的子元件。用这种方法,你能够保存测试树的一段、单独元件、或者整个测试计划。
运行一个测试计划

运行一个测试计划,从“run”菜单项选择“start”。停止你的测试计划,从同样的菜单选择“stop”。
线程组
线程组是任何一个测试计划的开始点. 所有的测试计划中的元件都要在一个线程组中。
如名字显示那样,线程组控制了一组线程, JMeter使用这些线程来执行你的测试,你可以做如下操作:
- 控制thread group
- 设置线程的数量
- 设置ramp-up周期
- 设置测试执行的循环次数

每一个线程都会完全和独立的执行测试计划而不影响其他线程。多线程可以用于模拟到你的服务器程序的并发连接。
Ramp-up period 告诉JMeter需要多长时间来“ramp-up”去装载全部的线程,如果30个线程被使用,而ramp-up period为120秒,那么JMeter会花120秒来使得所有的30个线程运行,每个线程将在上个线程开始后4秒开始。延迟时间=ramp-up period时间数/线程数
默认的,一个thread group被设置为不限定的循环。你可以设置thread group循环的次数,如果设置为一次,那么JMeter将执行测试一次然后停止。
Controllers
JMeter有两种controller:Samplers和Logical Controllers
Samplers告知JMeter发送请求到服务器。 例如,如果你想JMeter发送一个HTTP请求,就添加一个HTTP Request Sampler。当然你也可以定制一个请求,在Sampler中添加一个或多个Configuration Elements。
Logical Controllers使你可以定制JMeter发送请求的逻辑。例如,你可以添加一个Interleave Logic Controller来控制交替使用两个HTTP Request Samplers。同样,一个特定的Logic controller,作为Modification Manager,可以让你修改请求的结果。
Samplers
Sampler 告知JMeter发送请求到server端。JMeter现在有如下的samplers:
- FTP Request
- HTTP Request
- JDBC Request
- Java Object Request
- LDAP Request
- SOAP/XML-RPC Request
- Web Service (SOAP) Request (Alpha Code)
每个sampler都有一些可以设置的properties。 你也可以在一个sampler中添加Configuration Elements来做更多的设置。当然, 值得注意的是JMeter按照request在tree中添加的次序来发送请求。
如果你想同时发送多个并发的同一种类的request,例如HTTP request,到同样一台服务器。可以考虑使用一个Defaults Configuration Element。每个Controller拥有一个或多个默认元素。

Listeners提供了获取在JMeter运行过程中搜集到的信息的访问方式。最简单的Listener,Graph Results Listener图示出了响应时间。Listeners提供了一种图型化的方式来查看JMeter运行过程中产生的数据。
另外, Listeners能够直接将搜集的到数据存入到文件中以备后用。任何一个listener都拥有一个设置该文件存储地址的域。
Listener能够加到测试中的任何位置。他们将仅仅收集同级别和所有低级别的elements产生的数据。




Windows下使用JMeter的更多相关文章
- windows下安装jmeter
windows下安装jmeter post by rocdk890 / 2012-8-19 16:08 Sunday windows技术 发表评论 JMeter是Apache软件基金会的产品,用于对静 ...
- Windows下配置Jmeter环境变量
一.安装SDK 1.下载并安装sdk,安装目录为D:\Program Files (x86)\Java\jdk1.7.0_01 2.配置环境变量 1)新建系统变量:JAVA_HOME = D:\Pro ...
- [Jmeter]jmeter之初体验(windows下的jmeter)
一.环境准备 1.安装JDK(传送门:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...
- [Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
一.录制脚本: 1.启动jmeter 2.添加线程组 3.添加http代理 4.配置代理 a.jmeter侧(注意:lest plan content这里需要选择目标控制器,本文即测试计划中需要选择的 ...
- windows 下 修改jmeter ServerAgent端口
from:https://blog.csdn.net/wanglha/article/details/51281462 如果想修改UDP和TCP的端口该如何做呢,可以采用如下的方式: CMD命令进入S ...
- windows下Jmeter压测端口占用问题
https://blog.csdn.net/weixin_43757847/article/details/88188091 1 前情提要人脸识别项目中,云平台新增了人脸识别的校验接口.考虑到存在大量 ...
- Linux下运行Jmeter测试所遇问题汇总
一.安装及启动Jmeter 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! 0.下载及安装 下载地址及Linux命令 wget http://mirrors.cnnic.cn/a ...
- 【后台测试】Linux下小试jmeter
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5784288.html 前言 上一篇主要讲了在Window ...
- Linux下搭建jmeter
最近做性能测试,Windows下跑jmeter,并发跑不到100,CPU就100%,这还是在命令行模式下,真心头大.没办法,只好搞个Linux来跑了,下面说下如何玩转的. 1.下载Ubuntu操作系统 ...
随机推荐
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
- spring的PROPAGATION_REQUIRES_NEW事务,下列说法正确的是(D)
A:内部事务回滚会导致外部事务回滚 B:内部事务回滚了,外部事务仍可以提交 C:外部事务回滚了,内部事务也跟着回滚 D:外部事务回滚了,内部事务仍可以提交 PROPAGATION_REQUIRES_N ...
- Latex 2: 解决WinEdt和TexWorks用久之后忽然不能正反向搜索
说明:下面说的WinEdt版本是10.1,TexWorks是texlive2016中自带的texworks,如果情况不一样请自行测试,原理一样 1.不能正向搜索: 解决:① 确定路径名是英文名(实际上 ...
- ASP.NET Web Pages (Razor) API Quick Reference
ASP.NET Web Pages (Razor) API Quick Reference By Tom FitzMacken|February 10, 2014 Print This page co ...
- POJ3186 Treats for the Cows —— DP
题目链接:http://poj.org/problem?id=3186 Treats for the Cows Time Limit: 1000MS Memory Limit: 65536K To ...
- YTU 2405: C语言习题 牛顿迭代法求根
2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec 内存限制: 128 MB 提交: 562 解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...
- RabbitMQ简述
官网教程 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现.支持多种客户端,如:Python.Ruby..NET.Java.J ...
- silverlight子窗体操作数据库后刷新父窗体
silverlight子窗体操作数据库后刷新父窗体 作者 Kant 写于 2011 年 07 月 02 日 分类目录 学习笔记, 所有文章 C# Silverlight 代码 刷新 学习 异步刷新 数 ...
- 通过查询数据库中的数据匹配在页面上:(set单条数据属性是在页面上的显示与foreach的不同) 通过ID修改提取位置表信息
ACTION OpenModifyExtractPositionById // set单条数据属性 /* * 通过ID修改提取位置表信息 */ public String OpenModifyEx ...
- IOS应用在iPhone5和iPhone5s上不能全屏显示,应用画面上下各有1条黑色的解决方案
设置启动图片就可以了: 添加启动图: 接着设置为启动图: 这样就ok了