网站集约化建设通知,wordpress获取缩略图地址,网络营销策划书2000字,长沙电信网站备案一、Jmeter简介 1 概述 jmeter是一个软件#xff0c;使负载测试或业绩为导向的业务#xff08;功能#xff09;测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ#xff08;现在称为如 Apache Tomcat…一、Jmeter简介 1 概述 jmeter是一个软件使负载测试或业绩为导向的业务功能测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ现在称为如 Apache Tomcat 项目的性能进行测试。 Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。
以下是一些 JMeter 的特点 它是免费的。开放源码软件。 它具有简单直观的图形用户界面。 JMeter 中负载和性能测试许多不同的服务器类型网站 - - HTTPHTTPSSOAP数据库通过 JDBCLDAPJMS邮件 POP3 它是独立于平台的工具。在 Linux / UNIXJMeter 中 JMeter 中 shell 脚本点击可以调用。在 Windows 上它可以调用启动 JMeter.bat 文件。 它具有完整的 Swing 和轻量级组件支持预编译的 JAR 使用包 javax.swing 中*。 JMeter 测试计划存储为XML格式。这意味着可以使用文本编辑器生成一个测试计划。 它的完整的多线程框架允许并发多线程和同步采样不同的功能由单独的线程组采样。 它是高度可扩展的。 也可用于执行应用程序的自动化测试和功能测试。
2 JMeter支持的协议 web —— HTTPHTTPS 站点的 Web1.0的Web 2.0 (ajax, flex and flex-ws-amf)
Web Services: —— SOAP / XML-RPC
通过 JDBC 驱动程序的数据库
目录: —— LDAP
通过 JMS 面向消息的服务
Service: —— POP3, IMAP, SMTP
FTP 服务
3 Jmeter作用 它是免费的。开放源码软件。
它具有简单直观的图形用户界面。
JMeter中负载和性能测试许多不同的服务器类型网站 – HTTPHTTPSSOAP数据库通过JDBCLDAPJMS邮件 – POP3
它是独立于平台的工具。在Linux / UNIXJMeter中JMeter中shell脚本点击可以调用。在Windows上它可以调用启动jmeter.bat文件。
它具有完整的Swing和轻量级组件支持预编译的JAR使用包javax.swing中*。
JMeter 测试计划存储为XML格式。这意味着可以使用文本编辑器生成一个测试计划。
它的完整的多线程框架允许并发多线程和同步采样不同的功能由单独的线程组采样。
它是高度可扩展的。
也可用于执行应用程序的自动化测试和功能测试
二、Jmeter实现性能测试 简介
在用工具之前首先我们来简单了解一下什么是性能测试
性能测试是系统在一定的负载和压力的情况下系统的响应时间吞吐量稳定性课扩展性等性能指标。也就是我们要验证系统是否在这些指标范围或者说验证这些指标是否符合用户或客户的需求。性能指标包含系统指标和资源指标今天我们就以用户角度去看一下如何验证系统指标系统指标与用户场景和需求相关的指标关键的一些指标包含响应时间吞吐量并发用户数等
以下是按照中文版的jmeter进行编写的jmeter的bin目下打开这个文件jmeter.properties查找language把这个属性前面的#去掉并修改值为zh_CN修改后的显示 languagezh_CN
第一步配置jdk环境
如果想要使用Jmeter那么所在机器必须配置jdk的环境变量
第二步下载jmeter
下载路径 https://jmeter.apache.org/download_jmeter.cgi 可以下载最新版本的jmeter
第三步启动Jmeter
一、打开bin目录点击jmeter.bat 或cmd 输入 jmeter启动jmeter工具
二、选中测试计划右键new添加---》线程用户----》线程组进行线程组的添加在线用户数
1名称和注释任意
2线程数用户数根据需求实际情况去添加
3Rum-up秒几秒执行完用户数
4循环次数这些用户执行多次
三、所有的请求都在线程组的基础上进行那么如何发起一个http请求呢在此之前同学们需要了解一个http请求包含哪些内容以及响应包含哪些内容
选中线程组右键---》取样器---》http请求
1名称和注释最好与此次请求相关有意义
2协议http或https
3服务器名称或ip域名或ip地址
4端口号http是80https 443 mysql 3306
5请求方法根据请求行中的方法进行填写post
6路径资源的位置
7内容编码UTF8如果请求中不包含中文可不写
8post请求是有请求体的所以要填写参数 具体如图 四、一个http还除了上述http请求中的请求行和请求体还包含请求头如何添加请求头呢有的请求头不是必填的此部分可以省略
如果请求头是对所有的http请求有效那么选中线程组进行添加请求头仅对本请求有效那么选中http请求进行添加
选中线程组右键--添加--配置元件--http信息头管理器把需要的数据如图填写进来就可以
以上http请求数据已经准备好可以发起这个请求了但是我们要想看到请求的结果怎么办呢需要添加一个察看结果树
五、如何添加察看结果树呢可以选中线程组或选中请求添加作用域不一样选中线程组对应的作用域为这个线程组下的所有请求而请求下的呢仅作用域本请求一般情况下选择线程组即可
选中线程组右键--添加--监听器---察看结果树
准备好以上数据后就可以进行调试了在结果树中查看我们请求的数据添加的是否正确和响应结果是否正确 六、如何运行和结果显示如图 执行失败为红色显示成功为绿色显示
1取样器结果显示的是Sample的请求和响应的总体情况包含如下内容
Thread Name线程名称: 登录 1-3
Sample Start开始时间: 2020-03-19 16:37:03 CST
Load time加载时间: 33
Connect Time连接时间: 1
Latency延迟: 33
Size in bytes字节: 153
Sent bytes发送字节数:327
Headers size in bytes: 128
Body size in bytes: 25
Sample Count: 1
Error Count: 0
Data type (text|bin|): text
Response code: 200
Response message:
HTTPSampleResult fields:
ContentType: application/json;charsetUTF-8
DataEncoding: UTF-8
2请求请求体和请求头
3响应数据响应体和响应头
在调试的过程中如果我们发起的请求失败可以在此查看是请求数据有问题还是服务器本身的问题
七、性能测试不能针对一个用户进行反复的登录吧不符合常理和逻辑那如何实现多个用户进行登录呢
方法一参数化
1csv参数化选中线程组--右键添加--配置元件--csv数据文件设置如图 2使用变量如图 方法二函数助手 1Tools ---函数助手对话框或工具栏中的书
2复制后打开请求中需要使用变量的位置在此处粘贴 用以上两种方法之一就可以进行多用户的注册或登录了
可以运行一下查看结果
八、查看结果的常用方式
1聚合报告把所有的请求数据和系统指标结果汇总成表格查看 选中线程组右键---监听器--聚合报告
样本数量3
平均值平均的响应时间12毫秒
中位数50%的响应时间12毫秒
90%百分位90%的响应时间15毫秒
95%百分位95%的响应时间15毫秒
99%百分位99%的响应时间15毫秒
最小值用时最少的10毫秒
最大值用时最多的响应时间15毫秒
异常本次请求中有没有请求失败或者响应失败的数据有多少个0
吞吐量每秒中处理事务的个数4.4个
接收/kB每秒接收的字节数0.65KB
发送/kB每秒发送的字节数1.4KB
2用表格查看结果
选中线程组右键---监听器--用表格查看结果如图 可以查看单个请求的情况
3还可以汇总成图表的
选中线程组右键---监听器--图形结果
以上给大家分享了几种常用的查看结果的方式在监听器下还有好多有兴趣的小伙伴可以进行尝试使用方法都是一样的
九、还可以生成测试报告
1winR 输入cmd进入dos命令行模式下
2输入jmeter -n -t D:\work\login.jmx -l result.jtl -e -o D:\work\test 点击回车
-n:以非GUI形式运行
-t:指定脚本的路径
-l:运行后的结果的文件名
-e:在脚本结束后生成html报告
-o:保存HTML报告的地址
注意1.-l 后面跟的文件名是起的名字该文件名不能为已经存在的名字
2. -o 后面跟的文件夹的路径最后指定的文件夹不能有数据可以自己新起一个任意不存在的文件夹名
3D:\work\test目录下查看index.html 文件就是生成的 测试报告