【性能测试】非GUI模式Jemter压测+TPS性能拐点详细,一篇带你打通...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

非GUI模式执行Jemter压测

1、上传脚本

把在windows下调试好的脚本上传的Linux系统/home目录下。
注意:只留测试脚本,屏蔽其他监控组件,比如:查看结果树、聚合报告、监听器等

在这里插入图片描述

2、执行脚本

1)输入命令执行脚本:jmeter -n -t case.jmx -l case.jtl

-n:指非GUI模式运行
-t:后接脚本文件及路径
-l:生成jtl测试结果(生成html报告需要使用此文件)

请添加图片描述

2)数据分析:注意最后一行数据,代表整体测试时间内的性能情况

summary+:指的是间隔时间内的接口性能情况
Summary=:指的是到目前为止,总时间内的接口性能情况

时间后接的85.2/s指的是tps。吞吐量,每秒请求数量

Avg:指的是平均响应时间
Min:指的是最小响应时间
Max:指的是最大响应时间
Err:指的是请求的错误率
Active:指的是活动的线程数
Started:指的是已经开始的线程数
Finished:指的是已经结束的线程数

3、查看结果

1)把生存的case.jtl文件传到windows

在这里插入图片描述

2)在jmeter中添加聚合报告,打开case.jtl文件报告

在这里插入图片描述

3)多接口平均响应时间计算(非单接口平均响应时间求和/接口数量)

计算公式:
(单接口平均值1单接口请求数量1+单接口平均值2单接口请求数量2)/(接口1请求数+接口2请求数)=多接口平均响应时间。

比如:(5279X33+793X376)/5279+793=77.79

在这里插入图片描述

4、生成HTML报告

1)修改reportgenerator.properties,绘制圆点时间

请添加图片描述

修改jmeter.reportgenerator.overall_granularity绘制圆点默认60000为1000即为1s

jmeter.reportgenerator.overall_granularity=1000

退出编辑并保存

请添加图片描述

2)生成THML报告文件夹

执行以下命令:jmeter -g case.jtl –o report

-g:指定文件路径
-o:指定html报表生成在的目标文件夹

注意:后面接的是当前目录不存在的文件夹,如果存在则会报错

请添加图片描述

在这里插入图片描述

3)压缩文件夹

Zip -r report.zip report

请添加图片描述

4)下载到windows系统解压

在这里插入图片描述

5)双击html打开报告

在这里插入图片描述

寻找TPS性能拐点

1、准备脚本

1)在本地电脑调试jmeter压测脚本

请添加图片描述

2)上传到压测机jmeter所在的服务器

请添加图片描述

2、执行压力测试

1)执行压测脚本

jmeter –n –t xianchengzuse.jmx

请添加图片描述

2)记录业务压测数据

在这里插入图片描述

3、监控服务器性能指标

1)监控CPU

top命令

请添加图片描述

2)监控内存

free –m

请添加图片描述

3)jstat监控sweep和GC情况

请添加图片描述

4)jvisualvm监控jvm情况

在这里插入图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论是顺境还是逆境,都不应该停止对未来的憧憬和期待。相信自己的潜力,不怕困难,坚持不懈地追求梦想,你会发现未来的可能性无穷无尽。

每一刻的努力都是为了更好地迎接明天的挑战。把握好今天,积极主动地提升自己,勇往直前,相信自己可以创造出无比美好的未来。

你已经足够优秀,只需要再迈出一小步就能实现更大的突破。克服内心的恐惧和不安,勇敢地走出舒适区,去寻找属于自己的光明未来。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RK3568驱动指南|第七篇-设备树-第64章 device_node转换成platform_device实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

SOLIDWORKS软件提供了哪些特征造型方法?硕迪科技

SOLIDWORKS作为一款三维设计软件,为用户提供了多种特征造型方法,以下是其中几种常用的: 实体建模特征:SOLIDWORKS使用实体建模技术来创建和编辑三维几何体。通过使用基本几何体(如立方体、圆柱体、圆锥体等&#xff09…

Spring-Security前后端分离权限认证

前后端分离 一般来说,我们用SpringSecurity默认的话是前后端整在一起的,比如thymeleaf或者Freemarker,SpringSecurity还自带login登录页,还让你配置登出页,错误页。 但是现在前后端分离才是正道,前后端分离的话,那就…

@ConfigurationProperties使用

一直有个疑问,在使用ConfigurationProperties注解作用一个配置类时,如果该配置类继承了一个父类,那么父类的那些配置字段是否可以读取配置信息。 答案是可以的,前提是父类对应字段的set方法是public。 BaseProperties.java Getter Setter public class BasePropert…

for循环、while循环和do while循环有什么不同

for循环、while循环和do while循环是三种常见的循环语句,它们的主要不同点在于循环条件的判断时机和执行顺序。具体如下: for循环 for循环适用于已知循环次数的循环结构,它的语法格式为: for (初始化表达式; 循环条件; 更新表达…

深度学习之pytorch第一课

学习使用pytorch,然后进行简单的线性模型的训练与保存 学习代码如下: import numpy as np import torch import torch.nn as nn x_value [i for i in range(11)] x_train np.array(x_value,dtypenp.float32) print(x_train.shape) x_train x_train.r…

nodejs 异步架构

nodejs的核心之一就是非阻塞的异步IO,于是想知道它是怎么实现的,挖了下nodejs源码,找到些答案,在此跟大家分享下。首先,我用了一段js代码test-fs-read.js做测试,代码如下: var path require(pa…

React 递归手写流程图展示树形数据

需求 根据树的数据结构画出流程图展示,支持新增前一级、后一级、同级以及删除功能(便于标记节点,把节点数据当作label展示出来了,实际业务中跟据情况处理) 文件结构 初始数据 [{"ticketTemplateCode": &…

uniapp vue2 vuex 持久化

1.vuex的使用 一、uniapp中有自带vuex插件,直接引用即可 二、在项目中新建文件夹store,在main.js中导入 在根目录下新建文件夹store,在此目录下新建index.js文件 index.js import Vue from vueimport Vuex from vuexVue.use(Vuex)const store new Vuex.Store(…

core-site.xml,yarn-site.xml,hdfs-site.xml,mapred-site.xml配置

core-site.xml <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text/xsl" href"configuration.xsl"?> <!--Licensed under the Apache License, Version 2.0 (the "License");you may no…

微服务如何做负载均衡?

笔者在参与联通某子公司时&#xff0c;遇到了这样一个问题。感觉比较实际&#xff0c;特来记录一波。 先看腾讯混元的解答&#xff1a; 微服务架构中&#xff0c;负载均衡是必不可少的。在微服务中&#xff0c;负载均衡可以通过以下几种方式来实现&#xff1a; 1. DNS轮询&am…

【objectarx.net】读写扩展字典

在objectarx.net中操作扩展字典

代码随想录图论部分-695. 岛屿的最大面积|1020. 飞地的数量

695. 岛屿的最大面积 题目&#xff1a;给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff0…

flutter实现上拉加载下拉刷新

效果如下&#xff1a; flutter实现上拉加载下拉刷新 使用到的库是easy_refresh 安装请查看官网 接口用的是提供的接口https://reqres.in/ 请求接口用到的库是dio 下面主要是介绍如何使用easy_refresh实现上拉加载数据&#xff0c;详细学习其它例子请查看easy_refresh main…

electron 内部api capturePage实现webview截图

官方文档 .capturePage([rect]) rect Rectangle (可选) - 要捕获的页面区域。 返回 Promise - 完成后返回一个NativeImage 在 rect内捕获页面的快照。 省略 rect 将捕获整个可见页面。 async function cap(){ let image await webviewRef.value.capturePage() console.log(im…

Postman的环境变量和全局变量

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 多种环境&#xff1a;开发环境、测试环境、预发布环境、生产环境&#xff0c;可以用环境变量来解决。 今天的分享就到这里&a…

【论文阅读】Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval

资料链接 论文链接&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/papers/Li_Progressive_Spatio-Temporal_Prototype_Matching_for_Text-Video_Retrieval_ICCV_2023_paper.pdf 代码链接&#xff1a;https://github.com/imccretrieval/prost 背景与动机 文章发…

【微软技术栈】C#.NET 依赖项注入

本文内容 多个构造函数发现规则使用扩展方法注册服务组框架提供的服务服务生存期服务注册方法作用域验证范围场景 .NET 支持依赖关系注入 (DI) 软件设计模式&#xff0c;这是一种在类及其依赖项之间实现控制反转 (IoC) 的技术。 .NET 中的依赖关系注入是框架的内置部分&#…

LabVIEW在OPC中使用基金会现场总线

LabVIEW在OPC中使用基金会现场总线 本文讨论了如何使用开放的OPC&#xff08;用于过程控制的OLE&#xff09;接口访问基金会现场总线网络和设备。 NI-FBUS通信管理器随附了一个OPC数据访问服务器。 &#xff08;NI-FBUS Configurator自动包含NI-FBUS通信管理器。&#xff09…