使用jmeter从0开始完成性能测试

使用JMeter从0开始完成性能测试

在这里插入图片描述

介绍

在软件开发过程中,性能测试是一项关键任务,它可以帮助我们评估系统在不同负载条件下的性能表现,发现潜在的性能瓶颈。JMeter是一款功能强大且易于使用的性能测试工具,它可以帮助我们完成各种类型的性能测试。本教程将引导您从零开始使用JMeter进行性能测试。

举例

假设我们有一个在线商城网站,我们希望对该网站进行性能测试,以评估其在高并发情况下的表现。我们将使用JMeter来模拟多个用户同时访问网站并浏览商品。以下是我们的测试计划:

  • 目标URL: https://example.com
  • 并发用户数: 100
  • 浏览商品页面的请求路径: /products/{id}

步骤一:安装JMeter

首先,我们需要安装JMeter。按照以下步骤进行操作:

  1. 访问JMeter官方网站,并下载最新版本的JMeter。
  2. 解压下载的压缩包到您选择的目录中。
  3. 进入JMeter目录,并打开bin文件夹。
  4. 启动JMeter,根据您的操作系统选择适当的启动脚本(例如:jmeter.bat或jmeter.sh)。

步骤二:创建测试计划

一旦您成功启动了JMeter,下一步是创建一个新的测试计划。请按照以下步骤进行操作:

  1. 在JMeter左侧的树形结构视图中,右键单击测试计划(Test Plan)并选择"Add" -> “Threads (Users)” -> “Thread Group”。这将创建一个线程组,用于模拟用户并发访问系统。
  2. 在线程组上右键单击,并选择"Add" -> “Sampler” -> “HTTP Request”。这将创建一个HTTP请求采样器,用于发送HTTP请求到目标系统。
  3. 在HTTP请求采样器的属性面板中,设置目标系统的URL和其他参数。对于我们的示例项目,URL应设置为https://example.com/products/{id},其中{id}是商品ID的占位符。
  4. 可选:您还可以添加其他采样器和逻辑控制器,以模拟不同的业务场景和用户行为。

步骤三:配置性能测试参数

在进行性能测试之前,我们需要配置一些性能测试参数。请按照以下步骤进行操作:

  1. 选中线程组,在右侧的属性面板中配置并发用户数(Number of Threads Group)为100。
  2. 配置循环次数(Loop Count)为-1,表示无限循环。
  3. 配置其他性能测试参数,如请求超时时间、响应断言、结果收集等。

步骤四:运行性能测试

一旦您完成了测试计划和性能测试参数的配置,现在可以运行性能测试了。请按照以下步骤进行操作:

  1. 点击JMeter工具栏上的绿色运行按钮,或者使用快捷键Ctrl+R,开始运行性能测试。
  2. JMeter将模拟100个并发用户发送请求到目标系统,并记录响应时间和其他性能指标。
  3. 运行完成后,您可以查看性能测试结果和统计信息,以评估系统的性能表现。

步骤五:查看性能测试报告

在完成性能测试后,您可以生成并查看性能测试报告,以便更详细地分析测试结果。请按照以下步骤进行操作:

  1. 在JMeter工具栏上,选择"Options" -> “Generate Report Dashboard”。这将生成性能测试报告所需的数据文件。

  2. 打开命令行界面,并导航到JMeter的bin文件夹。

  3. 运行以下命令来生成性能测试报告:

    jmeter -g <path_to_jtl_file> -o <path_to_output_folder>
    

    其中,<path_to_jtl_file>是性能测试结果文件(JTL文件)的路径,<path_to_output_folder>是生成报告的输出文件夹路径。

  4. 执行命令后,JMeter将分析JTL文件中的数据,并生成性能测试报告。

  5. 导航到输出文件夹,并打开生成的HTML报告文件。

  6. 在性能测试报告中,您可以查看各种图表和指标,如响应时间分布图、事务响应时间、吞吐量、错误率等,以评估系统的性能表现。

通过查看性能测试报告,您可以更全面地了解系统的性能状况,并识别潜在的性能瓶颈和改进空间。

相关链接

  1. https://leolin66.top/article/how_to_use_jmeter_PTest

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/296865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 模拟器卡死的解决方法!

目录 前言 一、常规方法 二、简便解决方法 前言 在开发过程中&#xff0c;使用Android Studio模拟器是一种常见的方式来测试和调试应用程序。然而&#xff0c;有时候你可能会遇到模拟器卡死的情况&#xff0c;这给开发工作带来了一定的困扰。模拟器卡死可能会让你无法正常进…

CTFhub-Web-Web前置技能-“302跳转“

题目信息 HTTP临时重定向&#xff0c;题目截图如下所示&#xff1a; 分析过程 看到跳转路径为&#xff1a;http://challenge-d1a96d97eaecf029.sandbox.ctfhub.com:10800/index.html 分析可能存在重定向问题&#xff0c;如果要想获得flag&#xff0c;则可能存在http://chal…

C练习——鸡兔同笼

题目&#xff1a; 有若干只鸡和兔子在同一个笼子里&#xff0c;从上面数&#xff0c;有98个头&#xff1b;从下面数&#xff0c;有386只脚。问笼中各有几只鸡和兔&#xff1f; 解析&#xff1a; 数学上列二元一次方程组求解&#xff0c;所以采用穷举法&#xff0c;但可以缩小…

PyTorch基础操作

一、Tensor 在 PyTorch 中&#xff0c;张量&#xff08;Tensor&#xff09;是一个核心概念&#xff0c;它是一个用于存储和操作数据的多维数组&#xff0c;类似于 NumPy 的 ndarray&#xff0c;但与此同时&#xff0c;它也支持 GPU 加速&#xff0c;这使得在大规模数据上进行科…

Fontfabric:一款字体与设计的完美结合

一、产品介绍 Fontfabric是一款由国际字体设计公司Fontfabric开发的字体设计软件。它提供了一整套完整的字体设计工具&#xff0c;让用户可以轻松地创建、设计和定制自己的字体。Fontfabric拥有丰富的字体库&#xff0c;包括各种风格和类型&#xff0c;能够满足用户在不同场景…

Android 13.0 SystemUI状态栏居中显示时间和修改时间显示样式

1.概述 在13.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了 效果图如下: 2.SystemUI状态栏居中显…

我的2023年总结:往前看,别回头

2023年已经结束&#xff0c;我借此机会回顾一下我的2023年&#xff0c;同时也为2024年立好flag。 文章目录 2023印象深刻的实战经历技术成长与规划技术分享与交流CSDN博客参加百度apollo技术讨论会 深入学习Redis源码多彩的生活张杰演唱会《漫长的季节》&#xff1a;往前看&am…

日常测试工作中哪些是必须知道的 SQL 语句?

SQL 简介 SQL(Structured Query Language&#xff0c;结构化查询语言)是一套用于管理关系数据库管理系统(RDBMS)&#xff0c;基于 ANSI&#xff08;American National Standards Institute 美国国家标准化组织&#xff09;标准的计算机语言&#xff0c;比较重要的版本是 SQL92…

Redis小计(4)

目录 1.Set和Get操作 2.mset和mget 3.mset&#xff0c;mget&#xff0c;set后加参数的优点 4.incr,incrby&#xff0c;incrbyfloat 1.Set和Get操作 flushall&#xff1a;清除所有k-v键值对。&#xff08;删库跑路小技巧&#xff09; set k v[ex | px]&#xff1a;设置超时…

Spring Beans的魔法门:解密多种配置方式【beans 四】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Spring Beans的魔法门&#xff1a;解密多种配置方式【beans 四】 前言XML配置方式1. 声明和配置Bean&#xff1a;2. 构造函数注入&#xff1a;3. 导入其他配置文件&#xff1a; java注解方式1. 使用Co…

Vue2 - computed 和 method 的原理区别

目录 1&#xff0c;简单对比2&#xff0c;原理的不同1&#xff0c;method 的处理2&#xff0c;computed 的处理实现缓存触发更新 3&#xff0c;触发更新时的问题 1&#xff0c;简单对比 computed 当做属性使用&#xff0c;method 当做方法使用。computed 可以提供 getter 和 s…

spring模块(二)IOC容器之BeanFactory

在Spring中实现控制反转的是IoC容器 &#xff08;1&#xff09;IoC 不是一种技术&#xff0c;只是一种思想&#xff0c;一个重要的面向对象编程的法则&#xff0c;它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象&#xff0c;从…

Spring Boot Admin健康检查引起的Spring Boot服务假死

问题现象 最近在spring boot项目中引入了 spring-boot-starter-actuator 后&#xff0c;测试环境开始出现服务假死的现象&#xff0c; 且这个问题十分怪异&#xff0c;只在多个微服务中的简称A的这个服务中出现&#xff0c;其他服务都没有出现这个问题&#xff0c; 之所以说…

爬取彼案壁纸

代码展现&#xff1a; 具体代码&#xff1a; import requests import re import os filename 壁纸\\ if not os.path.exists(filename): os.mkdir(filename) for i in range(2,11): url fhttp://www.netbian.com/index_{i}.htm headers {User-Agent: …

iOS实时查看App运行日志

目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 &#x1f4dd; 摘要&#xff1a; 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具&#xff0c;我们可以连接手机并方便地筛选我们自己App的日志。 &#x1f4…

CMake支持的编译平台和IDE

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「本文的内容」&#xff1a;CMake入门教程 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 简介支持的IDEVisual…

vue3 鲜为人知的知识点

该篇文章是个人觉得在平常开发过程中没怎么注意到&#xff08;新增加&#xff09;的知识点&#xff0c;每个章节的内容在官网中不只文章提到的这些。 &#x1f495; 模板语法 ✔ 动态参数 <script setup> import { ref } from vueconst attributeName ref(msg) const …

[JavaWeb玩耍日记] 数据库

mysql版本&#xff1a;5.7.24 使用Navicat for MySQL辅助学习(2015年版)&#xff0c;这个在粘贴本博客的块引用内容时会有额外的不可见内容导致sql运行出问题&#xff0c;不过有影响的地方笔者已排除 目录 一.数据库创建 二.使用数据库与创建表 三.表内列的数据类型 四.修…

解决Android Studio The path ‘X:\XXX‘ does not belong to a directory.

目录 前言 一、问题描述 二、解决方法 前言 在移动应用开发领域&#xff0c;Android Studio作为一款功能强大的集成开发环境&#xff0c;为开发人员提供了丰富的工具和功能。然而&#xff0c;在使用Android Studio的过程中&#xff0c;有时也会遇到各种各样的问题和错误。 &…

SpringCloud微服务

微服务技术对比 DubboSpringCloudSpringCloudAlibaba注册中心zookeeper,RedisEureka、ConsulNacos、Eureka服务远程调用Dubbo协议Feign(http协议)Dubbo、Feign配置中心无SpringCloudConfigSpringCloudConfig,Nacos服务网关无SpringCloudGateway、ZuulSpringCloudGateway、Zuul…