性能04篇-JMeter基础知识

?    ?JMeter与LoardRunner都是非常优秀的性能测试软件,它们孰优孰劣众说纷纭。相对于JMeter而言,商业性能测试软件LoardRunner支持的测试协议更广,图形分析能力更强,易用性也要强一些。但是这些并无质的差距,LoardRunner的基本功能,JMeter都具备,只是没有那么完善而已。由于LoardRunner价格非常昂贵,因此这些差距是完全可以接受的。特别是对于中小软件企业而言,JMeter的性价比无疑拥有致命的吸引力。

?    ?JMeter和LoardRunner对比

?    ?JMeter:安装简单,下载解压即可;支持录制/回放模式;测试协议偏少,用户可自行扩展;支持分布式大规模压力测试;不支持IP欺骗功能;支持图形报表,较弱;支持测试逻辑控制;支持监控服务器资源(CPU、内存等);支持功能测试。

?    LoardRunner:安装复杂,LoardRunner安装包大于1GB,在一台主频3.0、1GB内存的计算机上安装,安装时间大于1小时;支持录制回放模式;测试协议较多,用户不可自行扩展;支持分布式大规模压力测试;支持IP欺骗功能;支持图文报表功能,很强;支持测试逻辑控制;支持监控服务器资源(CPU、内存等);不支持功能测试。

?    ?JMeter简介

JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证被测程序返回了期望的结果。为了保证最大限度的灵活性,JMter允许使用正则表达式创建断言。

Apache JMter 可以用来对静态和动态资源(文件、Servlet、Perl脚本、Java对象、数据库和查询、FTP服务器等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试他们的强度或分析不同压力类型下的整体性能。测试人员可以使用它做性能图形分析或者测试服务器/脚本/对象在大并发负载下的表现。

?    ?JMeter特点

?    ?1、支持对多种服务类型进行测试,包括:Web-HTTP,HTTPS/SOAP/FTP/Database基于JDBC/LDAP/Message-Oriented Middleware(MOM)基于JMS/JMS/Mail-POP3(S)and IMAP(S)/MongoDB(NoSQL)/本地命令或者shell脚本/TCP

?    ?2、支持通过录制/回放方式获取测试脚本。

?    ?3、具备高可移植性,是100%纯Java程序。

?    ?4、采用多线程框架,允许通过多个线程并发取样及通过独立的线程组对不同的功能同时取样。

?    ?5、精心设计的GUI支持高速用户操作和精确计时。

?    ?6、支持缓存和离线的方式分析/回放测试结果。

?    ?7、具备高扩展性,包括:

?    ?插拔式的取样器支持无限制扩充测试能力。

?    ?提供各种负载统计表和可插拔的计时器。

?    ?数据分析和可视化插件提供了很好的扩展性及个性化。

?    ?支持通过预置函数为测试提供动态输入数据,以及通过预置函数对测试数据进行操作。

?    ?支持用脚本构造采样器(BeanShell、BSF兼容语言和JSR兼容语言)。

JMeter常用术语

?    1. Sample:负责发出请求及响应数据。
    ?    ?2. 线程组页面的Ramp-Up Period:指的是时间间隔,即一个请求发送并且接收完毕之后一直到第二个请求发出的时间间隔。
    ?    ?3. 工作台的作用: 可以录制脚本等
    ?    ?4. setUp Thread Group、 tearDown Thread Group和线程组:一般setUp Thread Group是用于启动线程组,接着是tearDown Thread Group,然后是普通线程组,这是一般的执行顺序,主要是如果在使用线程组之前需要初始化一些,则可以使用setUp Thread Group,一般情况,使用线程组即可。
    ?    ?5. 正常情况下,端口号可以不填,但是如果“服务器名称或IP”中填写的是IP,则必须要填写端口号。

?    ?6、自动重定向:如果是期望结果就是301或302这个返回状态,则一定要勾选自动重定向,否则JMeter系统会默认这是个错误。(一般测API需要填写{不是很确定,待实践}),在断严重也需要注意,见下图:

?    ?7. 仅一次控制器:这个控制器可以保证线程在多次循环跑得情况下只登陆一次,只需要对登录的HTTP请求进行设置。
    ?    ?8. Linux:top命令获取CPU等资源的消耗情况,datat命令可以查看资源统计。
    ?    ?9. 若是json数据,则需要添加HTTP Header Manager,并且在HTTP请求中不能使用Parameters,应该使用Body data。

?    ?10. Jmeter中,有时候post请求也可以使用get,而且不会报错,但是使用get是不能达到请求的目的的,使用get获取的是页面而不能够发出请求,使用post才可以发出请求。

?    ?11. 聚合报告中90%Line的单位是毫秒。

?    ?JMeter工作原理    ?    ?

JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的相应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,JMeter就可以通过线程组来模拟真实用户对Web服务器的访问压力。这与LoardRunner的工作原理基本一直。



长按二维码识别关注,您的支持是我们最大的动力。

公众号:测试梦工厂

QQ一群:300897805

  

时间: 2024-08-27 16:17:18

性能04篇-JMeter基础知识的相关文章

第二篇 python基础知识总结:数据、运算符

引子 我们跟任何人交流,说的每一句都是都一些文字组成,包含名词.动词.语句.标点符号等,组成我们说普通话构成的基本要素.同理我们学习python语言也要明白这些基本要素,也就是我们常说的基本语法,这是我们必须掌握的基础知识.下面我就根据我们常用的知识总结一下.对此内容不过多的讲解!我们需要的是多练!坚持练!反复练!着重强调! 一 变量与常量 任何一门计算机语言中,变量与常量都是首先要了解的最基础知识.变量就是变化的量,常量就是一个不变的量,一个常数.python语言中的变量不指定存储类型,这点与

python基础知识 04 数学的基础知识

课程三 数字的基础知识 python控制台可以执行的当做计算器去执行算数 比如 在python控制台执行执行 [[email protected] ~]# ipython Python 3.7.4 (default, Aug 13 2019, 20:35:49) Type 'copyright', 'credits' or 'license' for more information IPython 7.8.0 -- An enhanced Interactive Python. Type '?

JMeter基础知识

JMeter介绍 JMeter是开源的性能测试工具和接口测试工具,工作原理和Loadrunner一样:作为浏览器和WebServer之间的网关,捕获Browser请求和WebServer响应,然后通过多线程模拟用户访问场景,监控系统资源的变化情况从而得到性能的情况.JMeter和Loadrunner相比,不存在质的差异,因其成本的低廉性而被广泛使用.和Loadrunner等商业工具相比,优点是:成本低廉,灵活性和可扩展性高(加载插件,开放API,ANT自动运行,支持分布式),学习资源和渠道多(有

第一篇 网站基础知识 第1章 网站架构及其演变过程

第1章 网站架构及其演变过程 1.1 软件的三大类型:单机类型.C/S类型.B/S类型 C/S结构图 B/S结构图 1.2 基础的结构并不简单 B/S结构网络传输的分解方式有两种:一种是标准的OSI参考模型,另一种是TCP/IP参考模型.它们的分层方式及对应关系如下图所示. 对于TCP/IP的4层模型可以简单地理解为: 网络接入层:将需要相互连接的节点接入网络中,从而为数据传输提供条件. 网络互联层:找到要传输数据的目标节点. 传输层:实际传输数据. 应用层:使用接收到的数据. TCP/IP参考

【Jmeter基础知识】Jmeter的三种参数化方式

JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 位置:按照1-2-3的步骤 操作:4中填写文件的位置,5中填写要读取的列的位置,第一列为0.点击[生成]按钮,拷贝字符串,去替换要参数化的值. 注意:Jmeter读取的文件中第一行没有标题,直接就是值了. 三.CSV Data Set Config 1.为文件所在的位置,可以建txt文档,然后,直接

第一篇 网站基础知识 第2章 常见协议和标准

第2章 常见协议和标准 2.1 DNS协议 DNS协议的作用是将域名解析为IP.在Windows中可以使用nslookup命令来查看DNS解析的结果,如使用nslookup命令查看淘宝的解析记录的结果如图所示. 直接访问的DNS服务器叫做本地DNS服务器,本身没有域名和IP的对应关系,在发出请求的时候它会从主DNS服务器获取然后保存到缓存中,下次再有相同的域名请求时直接从缓存中获取就可以了. 2.2 TCP/IP协议与Socket IP协议是用来查找地址的,对应着网际互联层,TCP协议是用来规范

第40篇 数据库基础知识 管理员 用户登录授权的操作

练习题1: v = dict.fromkeys(['k1','k2'],[]) print(v) v['k1'].append(666) print(v) v['k1'] = 777 print(v) {'k1': [], 'k2': []} {'k1': [666], 'k2': [666]} {'k1': 777, 'k2': [666]} 新式类经典类的区别:经典类: python3 中没有经典类 在python2.7版本中不会主动继承object 继承的查找顺序 深度优先, 没有mro方

工具篇-python基础知识

这里边只是个人对python中一些函数的简单记录,没有系统地整理python语言的相关知识点,希望大家学习时多多参考其他资料.以前用python用的贼溜,现在得复习一下子了. ??strip函数 strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. 例如: 1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 str = "00000003210Runoob01230000000"; 5 print str.s

第一篇 网站基础知识 第3章 DNS的设置

第3章 DNS的设置 3.1 DNS解析 3.2 Windows 7设置DNS服务器 3.3Windows设置本机域名和IP的对应关系 在自己的电脑里也可以设置域名和IP的对应关系,具体设置是在C:\windows\system32\drivers\etc\hosts文件中,设置的格式是“IP+空格+域名”,一行一条记录(空格可以有多个),比如下面的设置: 127.0.0.1 localhost? 127.0.0.1 www.test.com? 123.123.123.123www.123.co