浅谈web性能测试

什么是性能测试?

web性能应该注意些什么?

性能测试,简而言之就是模仿用户对一个系统进行大批量的操作,得出系统各项性能指标和性能瓶颈,并从中发现存在的问题,通过多方协助调优的过程。而web端的性能测试应该注意的指标有:用户操作的响应时间、系统的吞吐量(TPS)、系统的硬件资源情况(CPU、硬盘、磁盘)、网络资源占用情况等

web性能测试之HTTP请求

关于性能测试中,HTTP请求类的性能指标都需要我们去关注些什么?

响应时间,这里的响应时间一定得是前端+后端的响应时间,我们惯性的思维都是只关注后端服务的响应时间,其实前端的响应时间也是须考虑在内的。

并发测试的相应数据,这部分也得考虑前端数据,这只是一个大概的补充,因为具体的系统需要的数据不一样,其中也不乏包括响应时间。

其中,前端的响应时间都涉及到哪些环节呢?

DNS解析
各种请求的连接
TLS的建立
字节流的发送

另外,后端响应时间涉及的环节:
等待(前端请求)
接收信息流
返回响应数据

这其实就是一个比较完整的web端请求所需要的环节,而响应时间就是指的这个请求的过程所花费的时间。这部分时间就是一个用户在操作的时候所等待的时间,所以用户所能接受的时间范围恰好是性能测试所关注的时间范围。通常用户所能接受的系统响应时间是3-5s,若大于这个时间节点,将会使用户失去耐心,取消对系统的操作。

web性能测试之Jmeter

Jmeter属于一个非常实用的测试工具,在性能测试当中也占有一个非常重要的位置。通常jmeter在性能测试过程中,涉及到的基本是直接对接的后端服务,针对前端的响应基本不会涉及,所以用jmeter来对一个web系统进行性能测试时,很难去捕获到前端的响应数据。但是后端响应数据获取起来非常的便捷,其中就包括:并发数、平均响应时间、错误率、吞吐量等等,如下图:

那么,关于前端的响应数据,我们该用什么方法去获取呢?接下来讲的一种方法,就是利用LR来进行。

web性能测试之Loadrunner

Loadrunner则是属于企业软件,这就奠定了它功能繁多,用途广泛的基础。LR算是一个大型的性能测试工具了,但是平常使用也还是其基本的一些功能。LR在用户界面交互上进行了注重,也就是我们之前提到的前端的响应数据,利用LR能够弥补jmeter无法涉及到的前端响应时间这部分,通过更接近用户对界面的交互,得出前端发起请求到请求发送到后台服务这个过程的响应时间。所以,这前后端两部分的响应时间之和,就是我们基本能够判定一个系统真正响应时间的依据。

web性能测试之响应时间

结合以上提及到的响应时间,它所涉及到的有两个部分,一是前端,二是后端:

关于整体系统压测策略

那提及到系统压测的策略,其实是想提一下怎样去利用单节点和集群这两种方案。通常的压测,都是采用的单节点来进行的,这样“以小见大”的方法不为一个不可采取的方法,但是这其中还是会造成很多的误差。还有就是,单节点的压测容易压低整个系统的性能指标,因为无法充分的利用系统资源

而集群压测,在环境部署上是一个复杂点,但是能够充分利用系统已有资源,这样得出的数据能够更加真实有效。在有过量的时间时,可以讲单节点和集群的压测数据进行对比,这样就能发现其中存在的差异。

关于性能测试日志

关于性能测试日志

性能测试中,日志是非常能够反应出测试工作中问题所在的一个环节,通过查看日志来定位问题是一个繁杂但是极为可靠的方式。

此类测试中,都会涉及到哪些日志呢?

Jmeter端日志

HTTP端打到Nginx端的日志,这层会涉及到来源IP、请求地址、响应时间等。

Tomcat层日志

Server层日志

关于OS层数据监控

  • CPU监控

通常的指标是CPU使用率不能超过80%,这样给系统预留一个缓冲的范围。这里提及一点,就是其中涉及到多核CPU的情况,严谨的人会去关注每核CPU的使用情况,因为很多时候多核CPU的利用并不是均衡的,整体的CPU使用情况不能反映出单核的使用情况,容易造成误导。

  • JVM层监控

这主要是去监控线程,其中包含单线程、多线程,同步线程、异步线程。关于同步线程和异步线程,是一个系统中比较关注的点,假如:一个系统处理事务时,采用的是同步线程,很多事务会等待处理造成阻塞,那么这样的系统处理速度就会受到很大的限制,会被视为一个不合格的系统。

以上算是记录一下从多方面去考虑web性能测试的各个点,从而使测试结果更加真实有效。


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


一、Python编程入门到精通

二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具

八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到! 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

Clion运行QT,模拟VS弹出CMD框打印

参考:https://stackoverflow.com/questions/35385772/running-clion-on-the-system-console-like-visual-studio 在运行配置的地方进行编辑: 可执行文件设置:C:\Windows\System32\cmd.exe程序实参:/c “start cmd.exe cmd /c “…

【开发板测评】一起玩转ACM32G103开发板,释放MCU无限潜能!

为帮助小伙伴们更好的快速熟悉了解ACM32G103系列的特性,航芯特别发起了该系列开发板评测试用,以帮助大家更好地运用MCU进行项目设计。 ACM32G103开发板介绍 ACM32G103系列是航芯推出的一款有着丰富模拟外设及安全存储扩展能力的高性价比通用MCU。 高性…

汉威科技全系列VOC气体检测产品,护航绿色低碳安全发展

可能很多人都不知道,危化品爆炸、城市光化学烟雾污染(如英国伦敦烟雾事件)、城市灰霾、温室效应、臭氧层空洞等问题背后的元凶都是VOC。VOC(Volatile Organic Compounds)即挥发性有机物,这类物质易挥发,且普遍具有毒性…

系统调用过程

应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由…

[实践总结] Java中读取properties配置文件

读取此key.properties文件 代码实现 import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class PropertyUtils {private static final Properties properties new Properties();static {try (InputStream resourceAsStream Prope…

云上守沪 | 云轴科技ZStack成功实践精选(上海)

为打造国际数字之都,上海发布数字经济发展“十四五”规划,围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局;加快基础软件…

JavaWeb(五)

一、JDBC概述 JDBC 就是使用Java语言操作关系型数据库的一套API 全称是Java DataBase Connectivity 表示Java数据库连接。 JDBC的本质是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口&#xff0…

【zotero】搭配onedrive同步设置

1 登陆自己账户 登陆后记得取消文件同步的两个勾勾,不然后期会很占用储存空间的。 设置同步文件夹 一定要精准定位到绿色框框里头的文件夹。

【动手学深度学习】(十一)卷积层

文章目录 一、从全连接到卷积 一、从全连接到卷积 分类猫和狗的图片 使用一个相机采集图片(12M像素)RGB图片有36M元素使用100大小的单隐层MLP,模型有3.6B元素 远多于世界上所有猫和狗总数(900M狗,600M猫)…

制作一个RISC-V的操作系统五-RISC-V汇编语言编程一

文章目录 RISC-V汇编语言入门汇编语言概念简介 汇编语言语法介绍(GNU版本) RISC-V汇编语言入门 汇编语言概念简介 高级:可以理解就是更贴近人的理解 低级:可以理解就是更贴近机器的 难移植:汇编指令基本上和机器指令…

Matlab之统计数据分布并绘制直方图函数histogram

一、功能 直方图是一种将数据分组到条柱中的条形图。该函数可以统计数据在划分区间内的数量分布,同时以直方图的形式展示统计结果。 二、语法 1、histogram(X) 创建直方图X的图。该函数使用 一种自动分箱算法,返回具有统一宽度…

软件科技成果鉴定测试需提供哪些材料?

为了有效评估科技成果的质量,促进科技理论向实际应用转化,所以需要进行科技成果鉴定测试。申请鉴定的科技成果范围是指列入国家和省、自治区、直辖市以及国务院有关部门科技计划内的应用技术成果,以及少数科技计划外的重大应用技术成果。   …

“山东工行杯”山东省第五届数据应用创新创业大赛颁奖仪式丨2023中国新型智慧城市发展创新峰会“数字经济”分论坛同台举行

「场景赋能 数创齐鲁」 山东省第五届数据应用创新创业大赛 精彩颁奖典礼引领科技潮流 11月24日,“山东工行杯”山东省第五届数据应用创新创业大赛颁奖仪式与2023中国新型智慧城市发展创新峰会相结合并在“数字经济”分论坛同台举行。 本次大赛以“场景赋能&#…

VA03 凭证流 查看备忘

今天被问到了,为什么这个销售订单 只显示了3 EA 仔细看了一下,前面10 是行项目 看销售订单 最后发现,凭证流跟选择查看的行项目有关系 以前一直没有关注这个细节

2023字节跳动软件测试工程师面试题及答案分享

相信大家都有这样一个忧虑就是面试,不管我们要找什么工作,面试都会是必不可少的,下面是整理出来的面试题和我的一些见解觉得不对的在评论区留言! 1、什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案&…

【S32K3环境搭建】-0.3-S32DS安装实时驱动RTD(Real-Time Driver)

目录 1 什么是“实时驱动RTD(Real-Time Driver)” 2 安装“实时驱动RTD(Real-Time Driver)” 2.1 方法一:通过S32DS Extensions and Updates安装“实时驱动RTD(Real-Time Driver)” 2.2 方法二:通过Install New Software…安装“实时驱动RTD(Real-Ti…

智能优化算法应用:基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.白冠鸡算法4.实验参数设定5.算法结果6.参考文献7.…

【MySQL环境配置在虚拟机中】

MySQL环境配置在虚拟机中 先检查虚拟机中是否有MySQL在线安装1.下载yum Repository2.安装yum Repository3.安装mysql5.7的服务4.开机自启动5.启动mysql6.查看状态7.获取临时密码8.登录mysql9.关闭密码复杂验证10.设置密码11.修改权限12.卸载yum Repository 离线安装1.先找一下机…

【全栈开发】使用NestJS、Angular和Prisma 打造全栈Typescript开发

在开发Angular应用程序时,我非常喜欢Typescript。使用NestJS,您可以以与Angular非常相似的方式编写后端。 我偶然发现了这个库,发现它非常有趣,所以我想设置一个简单的测试项目。一般来说,我主要使用SQL数据库&#x…

十一、shell脚本综合案例

目录 1、猜字游戏 1.1 规则 1.2 代码 2、一键安装jdk 2.1 准备