Jmeter性能测试1

2023-11-20

性能测试的概述

     性能:百度百科定义:器物的性质与效用。

     生活中:买手机,买电脑,买车—》性能好:快(时间短)、资源

     软件的性能:软件在允许的过程中反应的速度(时间),消耗的资源的情况等等。

     性能测试:是通过自动化测试工具模拟多种正常,峰值,以及异常负载条件下对系统各项性能指标进行的测试。

      负载测试、压力测试都是属于性能测试。

           负载测试:确定各种工作负载下系统的性能,目标是测试负载逐渐增加时各项指标的变化情况;

           压力测试:是通过确定一个系统的瓶颈值或者不能接受的性能点,并且获取提供最大服务级的测试。

为什么要做性能测试?

应用程序是否能够很快的响应客户的需求?

应用程序是否能够处理预期的用户负载并且还有盈余的能力?

应用程序是否能够处理业务所需的事务数量?

应用程序在预期或者非预期的用户负载下,运行是否稳定?

是否能够确保用户在使用软件的时候获得比较舒服的体验。

性能的问题的根源?

多平台,超多服务器,异构系统,多应用并行,数千个网站,相互协作同时工作,这个过程中很容易出现交叉的故障点。

误区:提高一些硬件配置,性能就变好了,优化了,所以不用做性能测试了,或者说性能测试不重要?

错误:只是临时解决问题,根本问题没有解决。

影响性能的因素有哪些?

。硬件环境

。软件本身(算法逻辑、数据、中间件)

。网络带宽

。软件环境

性能的评定标准:性能指标

     响应时间:指的是从客户端发出请求开始,到接收到服务器的响应,并且看到响应的内容为止,这个时间段,称为响应时间。

     响应时间=网络传输的时间+服务器处理的时间+浏览器解析呈现的时间

         如何弱化网络传输的时间和浏览器解析呈现的时间:

  1. 前期测试建议在局域网中进行;
  2. 性能测试建议一定要独立的测试环境;(测试环境必须进行数据初始化
  3. 在晚上测试性能

     用户数:

         在线数:在软件上,不一定在操作

         并发数:在软件上,并且在操作。(特定的时间点或者时间段,操作不一定相同)

         在线数>=并发数

实际需求 –》 测试用例

  1. 测试 500 人登录的性能》在线数500,并发数没有要求;可以是一组线程或者多个线程组一起实现;
  2. 测试500人并发登录的性能》在线数500,并发数500

测试的时候建议使用一个线程组实现,多线程组需要进行设置;

  1. 测试300人并发登录的同时,有200人正在注册》在线数500,并发数500

注册和登录在不同的线程组中设置

资源的利用率:cpu、内存、磁盘、网络

吞吐量:处理事务的总数据量

吞吐率:单位时间内处理的数据量

点击量:点击的数量

点击率:单位时间内点击的次数

         吞吐量、吞吐率、点击量、点击率 都是从软件的处理能力来判断软件性能的。

例如:软件的响应时间是1秒,所以性能就很好,判断正误?

      错的,太片面了,其它的性能指标不清楚,用户数清楚,比如只有一个用户使用…

软件性能是否达标,依据是用户的性能的需求。

不同的角度出发,关注的性能指标不一样,不同的平台对性能的要求也不一样的。

何时进行性能测试?

      一般都是在功能测试的中后期进行,性能测试是依赖于功能测试的。

      性能测试一定要有自己独立的测试环境,并且测试环境还要进行用户数据的初始化。

性能测试的过程?

     前期准备(功能稳定、组建团队)

     选择合适的测试工具(loadrunner 商用型、jmeter(开源的)、自研的(华为:loadspace)

     性能测试的计划方案(需求分析,计划,策略,资源)

     性能测试的实现(准备环境->设计场景->编写测试脚本->辅助工具)

     性能测试的执行(工具执行脚本->记录结果)

     性能调优分析-》回归测试

     性能测试报告

         要测试的目的:本次性能测试预期要达到的性能要求

         测试概要描述:结构,人员,环境,场景(重点),过程简介

         测试结果和数据

         测试结论

Jmeter

基于java开发的开源的测试工具:轻量级

性能测试

接口测试

支持多种协议

Jmeter 的组成部分

    性能测试的原理:基于协议,用工具模拟实际操作(发送多个请求),并且收集测试数据,生成报告。

负载发生器:产生负载,产生压力,多进程或者多线程模拟用户行为

用户生成器:脚本运行的引擎,附加在进程或者线程之上

资源生成器:生成测试过程中服务的资源数据(收集测试数据)

报表生成器:根据测试中获取的数据生成报表,提供可视化数据显示方式

Jmeter 环境搭建

  1. 基于java,运行的时候需要 java的环境:JDK,要配置环境变量

Java 的环境: jdk(软件开发工具包)、jre(运行环境)、jvm(java的虚拟机)

dk 配置环境变量:JAVAHOME: C:\Program Files\Java\jdk1.8.0_111

                  Path: %JAVAHOME%\bin

     CLASSPATH:.;%JAVAHOME%\lib;%JAVAHOME%\lib\tools.jar

     验证:cmd命令窗口输入 java 或者 java version

  1. jmeter 是免安装模式,需要配置环境变量

JMETER_HOME: D:\apache-jmeter-5.2.1

       PATH: %JMETER_HOME%\bin

       CALSSPATH: ;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

验证:cmd 命令窗口:jmeter -v 或者 jmeter

  1. jmeter 的启动
  1. 命令启动:jmeter, GUI 模式,供制定测试计划,调试脚本
  2. 批处理文件启动:

汉化:

  • 当前页面一次汉化

打开jmeter的jmeter.bat文件,直接转换语言:

→option

→choose language

→Chinese simplified

二、永久汉化,修改配置文件,去掉 # 注释符,保存文件,重新启动Jmeter。

Jmeter 常见的测试框架

性能测试工具本质就是:依赖于协议,模拟人的操作(发送请求)。

测试计划:启动Jmeter ,就会有一个默认的测试计划生成,这个测试计划包含了本次测试所有相关的功能。建议名称进行修改,让其有意义。

线程(用户):线程组(主线程组,核心):需要进行性能测试的内容放在其中,不能为空;

例如:访问ecshop首页:  http://localhost/ecshop/

             Setup 线程组:初始化的(准备部分)内容,可以没有;如果有,一定是最先执行的。

             Teardown 线程组:收尾的内容,可以没有

             线程属性:线程数 ==》 用户数

             Ramp-up :虚拟用户启动的时间,即用户开始发送请求的时间

             循环次数:具体次数

             永远:必须勾选添加调度器,有持续时间,不然无法结束,运行时系统会提示错误。

当同时设置了次数,并且添加了调度器,设置持续时间:系统运行会以循环次数为准。

取样器:测试对象及测试内容,基于线程,即要模拟的动作,就是需要模拟的请求。一个请求放在一个取样器中,例如 http 请求:协议、服务器地址、URL、端口号等等。

性能测试的过程类似于实际中拍电视或者电影的过程:

拍电视:剧本—》导演找演员,对演员的要求,按照剧本演—》录下来—》后期剪辑

性能测试:脚本(写/录制)--》 线程(虚拟用户),按照脚本运行(模拟人操作:发送请求)--》录下来(监听)--》性能结果和性能需求比对,性能调优—》回归测试

Jmeter 中支持多个请求一起同时发送。

监听器:用来查看测试结果的,图形化显示,列表信息,常见几个监听器:

        查看结果树:同时查看请求和响应的信息,绿色表示测试地址畅通,不代表成功,红色表示异常;

        汇总报告:汇总请求发送的情况

聚合报告:汇总请求发送的情况结果

        图形结果:图形化展示

        表格显示展示:可以查看启动时间(starttime)

报告中各项指标说明:

注意:平均响应时间的单位是 毫秒

      标准偏差:系统离散程度,体现系统的稳定性,值越小,越稳定

聚合报告

汇总报告

注意:导出报告报表时,打开出现乱码

 处理过程:用记事本打开,另存为 csv 格式,另存的时候修改编码格式,从utf-8修改 ANSI,再重新打开另存好的文件,就可以了。

性能测试的过程类似于拍电视的过程:

拍电视:剧本 –》导演、演员 –》录下来 –》后期制作 –》成片

性能测试:脚本(写/录制)--》虚拟用户(按照脚本执行)--》收集数据(工具自动)--》分析,调优—》达标

脚本增加:配置元件

      http 请求默认值:http 请求默认公用信息的设置

http 请求页面参数说明:

请求响应结果出现乱码,处理:

原因应该是响应页面没有做编码处理,jmeter默认是按照 ISO-8859-1编码格式进行解析。

找到属性配置文件,修改参数:找到配置文件中 sampleresult.default.encoding ,此行是默认注释掉的,将iso-8859-1 修改为 utf-8,去掉注释符号,重启jmeter

修改后:

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter性能测试1 的相关文章

  • 【计算机毕业设计】北关村基本办公管理系统

    在如今社会上 关于信息上面的处理 没有任何一个企业或者个人会忽视 如何让信息急速传递 并且归档储存查询 采用之前的纸张记录模式已经不符合当前使用要求了 所以 对北关村基本办公信息管理的提升 也为了对北关村基本办公信息进行更好的维护 北关村基
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • Selenium小技巧!

    Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器 如 Chrome Opera 和 Microsoft Edge 中的工具 用于帮助开发人员调试和研究网站 借助 Chro
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • codeblock使用技巧

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 【计算机毕业设计】电商个性化推荐系统

    伴随着我国社会的发展 人民生活质量日益提高 于是对电商个性化推荐进行规范而严格是十分有必要的 所以许许多多的信息管理系统应运而生 此时单靠人力应对这些事务就显得有些力不从心了 所以本论文将设计一套电商个性化推荐系统 帮助商家进行商品信息 在
  • 【计算机毕业设计】二手家电管理平台

    时代在飞速进步 每个行业都在努力发展现在先进技术 通过这些先进的技术来提高自己的水平和优势 二手家电管理平台当然不能排除在外 二手家电管理平台是在实际应用和软件工程的开发原理之上 运用java语言以及前台VUE框架 后台SpringBoot
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • Kubernetes (十一) 存储——Secret配置管理

    一 简介 从文件创建 echo n admin gt username txt echo n westos gt password txt kubectl create secret generic db user pass from fi
  • Redis分布式锁--java实现

    文章目录 Redis分布式锁 方案 SETNX EXPIRE 基本原理 比较好的实现 会产生四个问题 几种解决原子性的方案
  • 30天精通Nodejs--第二十天:express-操作mysql

    目录 前言 安装依赖并配置MySQL连接 安装mysql2库 配置连接信息 在Express应用中使用MySQL 结合Express路由实现CRUD操作 整合到主应用 结语 前言 在Node js中使用Expre
  • Mysql中设置只允许指定ip能连接访问(可视化工具的方式)

    场景 Mysql中怎样设置指定ip远程访问连接 Mysql中怎样设置指定ip远程访问连接 navicat for mysql 设置只有某个ip可以远程链接 CSDN博客 前面设置root账户指定ip能连接访问是通过命令行的方式 如果通过可视
  • 温室气体排放更敏感的模型(即更高的平衡气候敏感性(ECS))在数年到数十年时间尺度上也具有更高的温度变化(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 高防服务器什么意思

    高防服务器什么意思 为什么要用高防服务器 小编为您整理发布高防服务器什么意思的解读 高防服务器是指具备较高防御能力的服务器 能够抵御DDoS CC等网络攻击 高防服务器通常用于保护游戏 APP 金融 电商等业务 这些领域因为其业务特性 容易
  • 每日变更的最佳实践

    在优维公司内部 我们采用发布单的方式进行每天的应用变更管理 这里给各位介绍优维的最佳实践 变更是需要多角色合作的 而且他是整体研发流程的一部分 在优维内部 我们坚持每日变更 打通开发环节到最终发布上线的全过程 在保证质量的前提下 尽可能提升
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • android sdk自带的fragment标签使用

    项目开发中要用到 下面四个大分类 上面三个小分类的情况 大分类采用viewPage 小分类 使用了sdk自带的
  • 制造业软件体系结构与互联网的差异

    本人自毕业已经13年 虽然热爱计算机 但是由于种种原因 一直在东莞的工厂混迹 感受着互联网的大潮 也不免有几分失落 伴随这去年 今年大厂裁人 许多被逼无路的程序员开始跳槽制造业 浓浓的Java气息来了 在此不免吐槽一句 请不要把写互联网程序
  • ESP32-PICO-D4下载程序出现 rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) flash read err, 1000

    备注 是我自己记录用的 有问题可以交流 用的Visual Studio Code Arduino platformio开发 最近现在在搞物联网 发现ESP32这款芯片容易上手 而且功能强大 买的开发板用起来很顺手 于是我就自己从立创开源上找
  • 解决cannot be cast to class jakarta.servlet.Servlet问题

    我的Tomcat版本是10 0 5 这个问题的主要原因是因为 10版本的Tomcat的servlet包变化了 解决问题方法 IDEA选择这个直接完美解决 IDEA选择这个直接完美解决 IDEA选择这个直接完美解决 1下载对应的包并且导入 下
  • Prim算法解决修路问题

    普里姆算法 Prim算法 图论中的一种算法 可在加权连通图里搜索最小生成树 意即由此算法搜索到的边子集所构成的树中 不但包括了连通图里的所有顶点 英语 Vertex graph theory 且其所有边的权值之和亦为最小 普里姆算法和Kru
  • storm集成kafka简单使用示例2

    StormKafkaTopo java package stormUse stormUse import java util Properties import org apache storm Config import org apac
  • 9.2 单片机上下拉电阻

    前边似乎我们很多次提到了上拉电阻 下拉电阻 具体到底什么样的电阻算是上下拉电阻 上下拉电阻都有何作用呢 上拉电阻就是将不确定的信号通过一个电阻拉到高电平 同时此电阻也起到一个限流作用 下拉就是下拉到低电平
  • app id(wildcard ID和explicit ID)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 最近做ios游戏的平台相关的工作 平台商要求把我们产品的bundle id加上他们的标记 比如我们的bundle id叫 com lc test 如果我上CSDN的平台 就
  • CleanMyMac X4.14.1苹果Mac电脑系统最好用的系统清理工具

    macOS 平台的知名系统清理应用 CleanMyMac 在经历了一段时间的beta测试后 全新设计的 CleanMyMac X 正式上线 与 CleanMyMac3相比 新版本的 UI 设计焕然一新 采用了完全不同的风格 除了设计上的变化
  • gdb attach 方法

    第一步 获得正在运行的进程的进程号 程序编译时要有 g参数 第二步 gdb attach 根据上一步获得进程号 现在attach上去 此处可stop暂停程序 第三步 打断点 gdb有两种打断点的方式 b 行号 如果是当前文件 则直接加上行号
  • 用wordpress编辑网站使页面中的图片全屏展示和全屏轮播展示

    在利用wordpress建立网站中 页面中的bannner图如何使其全屏展示以及如何添加轮播图 一 页面中的图片如何设置为全屏图片展示 操作步骤如下 1 打开网站的后台 点击 页面 选择所有页面 如图所示 2 选择相应的页面 点击 使用El
  • nacos简易实现负载均衡

    目录 一 什么是Nacos 二 Nacos下载和安装 1 使用Windows启动 2 验证nacos是否成功启动 三 Nacos Discovery服务注册 发现 四 简易实现负载均衡 1 注册者配置 2 注册者启动类 3 注册者业务层 4
  • 数组添加进formdata_FormData使用方法详解

    FormData的主要用途有两个 1 将form表单元素的name与value进行组合 实现表单数据的序列化 从而减少表单元素的拼接 提高工作效率 2 异步上传文件 一 创建formData对象 1 创建一个空对象 通过FormData构造
  • Linux命令_sort & 排序、去重

    目录 1 语法 1 1 常用参数 2 常见用法 2 1 按数值排序 2 2 按文件大小排序 2 3 指定某一列排序 2 4 去重后排序 2 5 生成随机数 2 6 同时查看多个文件 2 7 排序后的值写入文件 可直接修改文件 1 语法 so
  • 如何使用区块链技术保护个人隐私和数据安全

    区块链技术是一种分布式账本技术 它具有不可篡改 去中心化 透明度高等特点 区块链技术能够实现数据的可信存证 隐私保护和交易安全 并且能够通过智能合约的自动执行 因此被广泛应用于金融 电商 物流 社交网络等领域 区块链技术的核心是 分布式账本
  • Go语言List的使用与数据结构的选择

    container包下的函数 heap heap包提供了对任意类型 实现了heap Interface接口 的堆操作 list list包实现了双向链表 ring ring实现了环形链表的操作 一 List的使用 List列表是一种非连续存
  • JAVA多线程执行,等待返回结果,再执行

    JAVA多线程执行 等待返回结果 再执行 1 实现callable接口 1 配置线程池 package com neusoft demo server config import org springframework context an
  • 简单了解InnoDB底层原理

    存储引擎 很多文章都是直接开始介绍有哪些存储引擎 并没有去介绍存储引擎本身 那么究竟什么是存储引擎 不知道大家有没有想过 MySQL是如何存储我们丢进去的数据的 其实存储引擎也很简单 我认为就是一种存储解决方案 实现了新增数据 更新数据和建
  • 步进电机与直流电机(有刷无刷)的优缺点,与伺服电机区别

    1 步进 有刷 无刷小型电机的区别 记住这张表 参考 特性 的特点 2 一文看懂有刷 无刷电机 步进电机基础知识 3 步进电机与直流电机的优缺点 与伺服电机区别 伺服与控制 电子发烧友网 4 有刷电机 VS 无刷电机 看看哪个更厉害 5 2
  • Jmeter性能测试1

    性能测试的概述 性能 百度百科定义 器物的性质与效用 生活中 买手机 买电脑 买车 性能好 快 时间短 资源 软件的性能 软件在允许的过程中反应的速度 时间 消耗的资源的情况等等 性能测试 是通过自动化测试工具模拟多种正常 峰值 以及异常负