Jmeter之基本介绍
初学Jmeter,以下是我常用的功能,总结一下。
1、Thread Group线程组
线程组,即:虚拟用户组
名称:随意起啦,自己喜欢就好。
线程数:设置虚拟用户数。
Ramp-Up Period(in seconds):设置时间,即:在此段时间内创建出你所设置的所有虚拟用户数。
循环次数:1个线程跑多少次测试。(若勾选“永远”,则会一直循环下去)
调度器(Scheduler):配置启动时间。
持续时间:设置此次测试跑多久。
启动延迟:延迟X秒后,启动测试。
启动时间-结束时间:设置此次测试在固定的时间段内跑起。
2、Synchronizing Timer(并发)
(因Jmeter按树状结构执行,故通常将并发放置于请求之前)
Number of Simulated Users to Group by:模拟多个线程(用户)在同一时刻向服务器发出请求。(又称集合点、同步点)
(若置0:则等同于设置所有线程同时并发。)
Timeout in milliseconds:等待时间(毫秒),即:若此时的线程数还不到并发数,等待X毫秒后(不管此时的线程数是否达到并发数值),释放剩余的线程。
(若置0且线程数无法达到并发数值,则Timer就会无限等待下去,除非手动终止)
注:设置的并发数不应大于此次线程中包含的用户数
3、Http Request(请求)
搞一哈博客的压测
→_→
http://www.cnblogs.com/bigshan-1/
服务器名称或IP:服务器地址
端口号:
协议:http
方法:GET(主要是你所测的网页采取什么方法,你就用什么方法。不知道就F12看一哈)
路径:地址中域名后的部分
Parameters参数:key-value成对的参数值
Body Data:①直接填入数据;②或者从文本中读取,则格式:${ }花括号中填写变量名→变量即为你从文本中读取的数据,给其新定义一个名字
4、CSV Data Set Config
利用Jmeter的http请求的时候,如果我们要添加不同的数据,而每一条数据都不一致,我们将每一天数据作为一个测试用例,则我们可能需要为每个测试用例建立一个http请求,十分麻烦,比如,就登录来说,有用户,密码,每个用户的用户名,密码都不一致,如果我们要建立多个用户登录的请求,每个用户使用不同的用户名和密码,我们可能要将每个用户名单独作为一个http请求,这样十分不方便。
我们是否可以将所有的用户名和密码写入一个文件,然后将http请求中的用户名和密码参数化,读取写有用户名和密码的文件呢?
利用Jmeter的CSV Data Set Config,可以实现这个功能,具体如下:
①新建一个文本文件,里面保存要登录的用户名,密码,文件内容如下:
admin,123
manager,456
test,test
注:这里用英文逗号为分隔符,也可以用其他为分隔符,在CSV Data Set Config中可以设置。
②
Filename:csv文件的名称(包括绝对路径),如下图就是指放在桌面上的test2.txt文件
Variable Names(comma-delinited):这个就是给从csv文件中读取的变量定义一个名字。
(如:有几个参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对于,这里也用“,”分割每个参数名,(比如:use,password)
(用于Body Data中)如:
Delimiter(use '\t' for tab):分隔符,csv文件中的分割符,默认状态是逗号,下图则是定义了“$$$”为test2.txt文件中的分割符。
(此举就是为了区分数据内部存在与分割符一致的元素时造成的混淆)
Recycle on EOF:是否循环读入,因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入 。
5、Aggregate Report(聚合报告)
线程组、并发等都配置完成后,将测试跑起来,点击绿色的那个。
运行结果如下表:
Label:此次请求的名称
#Samples:表示你这次测试中一共发出的请求数。若模拟了200个用户,循环10次,则此为200*10=2000
Average:平均响应时间,默认情况下是指单个Request的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
95% Line:95% 用户的响应时间
99% Line:99% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
Jmeter之基本介绍的更多相关文章
- Jmeter应用初步介绍
一.工具介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资 ...
- JMeter主要组件介绍
JMeter主要组件介绍 转自https://www.cnblogs.com/linbo3168/p/6023962.html 作者:linbo.yang 1.测试计划(Test Plan)是使用 ...
- Jmeter的简单介绍
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测 试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...
- Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...
- Jmeter系列(3)- Jmeter安装目录介绍
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter安装目录说明 bin:包含 ...
- 转 2 jmeter常用功能介绍-测试计划、线程组
2 jmeter常用功能介绍-测试计划.线程组 1.测试计划测试用来描述一个性能测试,所有内容都是基于这个测试计划的. (1)User Defined Variables:设置用户全局变量.一般添 ...
- jmeter工作目录介绍、jmeter元件及组件介绍
一.jmeter工作目录介绍: bin:放置各项配置文件(如日志设置.JVM设置).启动文件.启动Jar包.示例脚本等: docs:放置JMeter API的离线帮助文档: extras:JMeter ...
- 【jmeter】目录介绍
JMeter也学了一阵子了,对于基本的操作已了解,再回过头来看看Jmeter的目录,本篇是对于它的目录进行一些简单的介绍. JMeter解压之后打开,根目录如下图: 1.bin:可执行文件目录 2.d ...
- JMeter的基本介绍和入门
1. 介绍 JMeter是Apache组织的开放源代码项目,能做功能测试和性能测试.它能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC),还能以多种形式展 ...
- jmeter(二十一)jmeter常用插件介绍
jmeter作为一个开源的接口性能测试工具,其本身的小巧和灵活性给了测试人员很大的帮助,但其本身作为一个开源工具,相比于一些商业工具(比如LoadRunner),在功能的全面性上就稍显不足. 这篇博客 ...
随机推荐
- ASP.NET MVC之单元测试
ASP.NET MVC之单元测试分分钟的事2014-07-15 13:05 by 书洞里的猫, 550 阅读, 4 评论, 收藏, 编辑 一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在 ...
- ibatis提示Unable to load embedded resource from assembly "Entity.Ce_SQL.xml,Entity".
原本以为是xml文件配置错误,尝试无果,最终原因未将xml文件的生成操作选择为嵌入的资源.很无语!
- grasp设计模式笔记回顾
根据讲师所讲做了一下笔记以便自己能方便学习: ------------------------------------------grasp设计模式: grasp(general responsibi ...
- ASP.NET MVC Model元数据
ASP.NET MVC Model元数据(三) 前言 在上篇中我们大概的讲解了Model元数据的生成过程,并没有对Model元数据本身和详细的生成过程有所描述,本篇将会对详细的生成过程进行讲解,并且会 ...
- printf code
printf背后的故事 2014-01-14 21:54 by Florian, 41 阅读, 0 评论, 收藏, 编辑 printf背后的故事 说起编程语言,C语言大家再熟悉不过.说起最简单的代码, ...
- [Usaco2007 Dec]Building Roads 修建道路[最小生成树]
Description Farmer John最近得到了一些新的农场,他想新修一些道路使得他的所有农场可以经过原有的或是新修的道路互达(也就是说,从任一个农场都可以经过一些首尾相连道路到达剩下的所有农 ...
- asp.net mvc4 运用 paypal sdk实现支付
1.https://developer.paypal.com/ 注册账号,并且申请一个app,获得 client id,secret等数据 2.点击页面中"Sandbox Account ...
- Ruby的对象模型
目录 备注对象模型无图无真相基本规则代码示例如何修改Singleton Class?如何修改类型,如Child?类型方法是特殊的实例方法,这些方法定义在类型的Singleton Class中.备注 备 ...
- EL表达式与三目运算符
在页面实现常量替换,比如 entity.auditi 的值如果为0显示不需要否则显示需要 因为需求就这两个值 所以使用三目运算符比较简洁 如果值为很多个 可使用if else进行判断 ${entit ...
- phpredis扩展
<?php $redis = new Redis(); $redis->connect('127.0.0.1',6379); $redis->set('test','hello wo ...