怎样正确做 Web 应用的压力测试?字节8年测试5个步骤给我看师了

这篇具有很好参考价值的文章主要介绍了怎样正确做 Web 应用的压力测试?字节8年测试5个步骤给我看师了。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web应用,通俗来讲就是一个网站,主要依托于浏览器来访问其功能。

那怎么正确做网站的压力测试呢?

提到压力测试,我们想到的是服务端压力测试,其实这是片面的,完整的压力测试包含服务端压力测试和前端压力测试

为了让大家看完文章后,更有获得感,本文将从以下方面进行展开:

1、Web应用(网站)压测范围
2、前后端压测流程
3、补充1:前端压力测试
4、补充2:后端压力测试
5、学习资料分享

一、Web应用(网站)压力测试范围,包含前后端

Web应用(网站)最开始是不分前后端的(所以,那段时间PHP这门专门用于建站的语言非常火),后来随着网站功能越来越丰富,前后端不分离的架构显得低效和落后,这时候前后端分离的架构应用而生(PHP从此衰弱了)。

在前后端分离的架构模式下,前后端工程师约定好数据交互接口,实现并行开发。所以,一个Web应用(网站)其实是包含前端和后端两个独立的部分。

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

前后端分离

Google DoubleClick 研究表明:如果一个网页加载时长每增加 1 秒,用户就会流失 10%,加载时长超过 3 秒,用户就会离开。

因此,对于一个新的Web应用来说,除了常见的服务端压力测试,前端的压力测试也是不可或缺的。一个完整的web应用压力测试流程如下图所示:

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

二、前后端压测流程

step1、确定压测范围和压测目标

压测范围:如果是全新的项目,原则上所有的功能和接口基本都要压测。如果是老项目新增需求,则需要评估影响范围,以便确定老的功能和接口是否需要压测

压测目标:如果是全新的项目,要根据行业内的基本情况和经验定一个预估目标;如果是老项目,可以根据历史流量峰值作为参考目标。

step2、制定压测方案

根据上一步的预期目标,制定压测方案。具体包含:压测环境,压测时间,相关负责人,测试工具或平台,验收标准

压测环境:为了还原真实的压力场景,一般选择预发环境或生产环境进行压测

压测时间:压测一般在功能测试或接口测试完成后介入。

压测工具或平台:前端压测可以使用PageSpeed等平台,后端压测一般会使用 jmeter、loadrunner等工具。(详细内容见补充1,补充2

验收标准:一般来说要达到压测目标的预估值。

3、压测准备

压测机:准备好压测机群(后端用),用于发送请求。

服务器:由于压测流量会较高,所以需要提前准备服务器集群,用于承接流量或扩容使用

数据准备:准备用于压测的数据,一般来说要和真实数据做区分。准备压测脚本,添加标识,以便于和真实流量区分。

4、实施压测

施压:在施压的过程中,从较小流量开始,逐步加压。

观察:在逐步加压的过程,需要观察rt、error(报错率)、服务器的cpu、内存使用率等数据,如发现异常要及时停止压测,待排查和解决问题后再进行压测。

5、压测观察&瓶颈分析

如何判断应用的承受能力?

在压测过程中观察报错率、响应时间等指标,如出现指标异常,则说明流量达到当前的瓶颈,需要停止压测分析并排查原因。

以下是几种常见异常的分析方法:

  • 成功率未达标:查看错误日志,排查错误根本原因,进行性能调优
  • 响应时间未达标:对照错误日志、链路追踪结果、服务器性能指标、数据库/中间件监控指标,找到响应时间过长的具体原因
  • 吞吐量未达标:如果成功率和响应时间均达标,建议不断增加模拟用户数,重新压测,查看测试结果

什么时候需要增加服务器?

在上一步出现瓶颈调优之后,继续加压,观察各项指标

  • 第一种情况:服务器cpu、内存等指标均未达瓶颈(通常以使用率达到70%-80%为瓶颈),qps、rt、报错率等指标出现异常,此时需要重复上一步,排查问题并优化
  • 第二种情况:rt、报错率等指标未出现异常,服务器cpu、内存使用率即将达到瓶颈,且未达到预期的压测目标,此时无法通过调优来解决,需要增加服务器。

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

服务器指标监控

6、验收

达到预期目标:达到预期目标,一般可以认为压测通过。

未达到预期目标:如因各方面原因(资源、预算等)未达预期目标,需要产品经理和研发经理对压测结果确认。

7、发送压测报告

如何写一份好的压测报告,可以参考下面这篇文章

8、项目上线

前面的步骤都完成之后,项目可以发布上线。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!qq群号:110685036

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

三、补充前端该如何压测

Google 开发者提出了一种 RAIL 模型来衡量应用的前端性能,即 response(响应)、animation(动画)、idle(空闲)与load(加载)。

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

RAIL 模型的广泛使用关键指标如下:

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

工具使用:PageSpeed

PageSpeed 是 google 一个开源的自动化工具,安装 PageSpeed 扩展程序运行即可

报告结果如图:

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

该工具功能丰富,报告也非常详细,并给出了优化建议,根据测试报告做对应的优化即可。

四:补充后端该如何压测

后端即指服务端,后端压测就是服务端压测,也可以称为服务器压力测试。

在压测过程中,一般关注下面几个指标:qps(处理的请求量)、rt(响应时间)、error(报错率)、cup(cpu使用率)、mem(内存占用情况)、load(负载)、traffic(网络速率)。

通过观察qps、rt、error等关键指标,找到服务器的性能瓶颈,如果低于预期,则需要调优。

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

通过压力测试,提前发现服务器瓶颈,及时优化,避免网站一上线就奔溃。

工具:压测常用的工具有LoadRunner和Jmeter(文末有学习视频)

Jmeter 是一款使用Java开发的,开源免费的测试工具, 主要用来做性能测试,JMeter 可以用于对服务器、网络或对象模拟巨大的负载,有丰富的图形界面+脚本配置,方便易用。

LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。

五、学习资源分享

如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试

全套资料获取方式:

网站压力测试,技术分享,干货分享,软件测试,前端,压力测试,测试工程师,自动化测试,软件测试文章来源地址https://www.toymoban.com/news/detail-708726.html

到了这里,关于怎样正确做 Web 应用的压力测试?字节8年测试5个步骤给我看师了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web 应用程序性能测试核心步骤

     通常大家做web 应用程序的时候会有哪些操作呢?今天就来看看常见的web 应用程序的常见操作。 1:识别测试环境。确定物理测试环境和生产环境,以及测试团队可用的工具和资源。物理环境包括硬件、软件和网络配置。在一开始就对整个测试环境有一个彻底的理解,可以使

    2024年01月18日
    浏览(46)
  • 常见压力测试流程步骤

    常见压力测试流程步骤: 1.明确压力测试需求、范围、场景。首先得确定测试数据库、测试用例设计等,因为压力测试对于环境的要求较高,因此基本软硬件、工具类以及测试场景的搭建都要准备好。 2.存量数据规模。计划充足的存量数据对软件进行测试。 3.确定操作用户数

    2024年02月12日
    浏览(35)
  • 性能压力测试的定义及步骤是什么

    在今天的数字化时代,软件系统的性能和稳定性对于企业的成功至关重要。为了确保软件在高负载和压力情况下的正常运行,性能压力测试成为了不可或缺的环节。本文将介绍性能压力测试的定义、步骤。 一、性能压力测试的定义和目标 性能压力测试是通过模拟实际使用情

    2024年02月07日
    浏览(39)
  • Apache JMeter配置步骤压力测试实例

    一. 安装环境:................................................................................................................ 2 二.安装步骤:............................................................................................................... 2 三.实例环境:.....................................................................

    2024年02月11日
    浏览(41)
  • Apache JMeter 5.6.3压力测试步骤详解

    软件测试 描述了一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是: 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要

    2024年01月18日
    浏览(37)
  • 软件压力测试究竟是如何工作的?详细分析步骤!

    软件测试过程中的步骤之一是压力测试,所谓压力测试,就是让被测系统在接入压力下稳定运行。比如让10000个用户同时访问一个网站,看看网站是否崩溃或者变慢,这就是压力测试。那么压力测试究竟是如何工作的呢?本文将详细分析压力测试的步骤。 软件压力测试是一种基

    2024年02月03日
    浏览(32)
  • 6个步骤轻松实现 postman 接口压力测试(建议收藏)

    这里讲是postman做接口并发测试,基础用法不做赘述 最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓

    2024年02月04日
    浏览(36)
  • 全网最牛,JMeter性能测试步骤与结果分析(压力 / 负载测试)详全,精品太干了

    1、负载:模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖 在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数 简单说,可以帮我们对系统进行定容 定量,找出系统性能的拐点,给予生产环境规

    2024年02月20日
    浏览(56)
  • Web服务器压力测试

    使用WebBench去进行网站的压力测试 1、去github下载项目源码webbench 2、download到本地 3、将压缩包上传到虚拟机上 4、解压,使用命令:unzip 压缩包名 5、 6、构建项目 7、上述动作完成后,生成可执行文件webbench 8、开始测试,测试命令格式如下: 例子:3个客户端,运行3秒 选项:

    2023年04月15日
    浏览(58)
  • web网站怎么做压力测试

    Web 网站性能体现在并发用户数已经网站的吞吐量和时延。 最简单的 压力测试 工具就是ab \\\"Apache Benchmark\\\" 下面将介绍ab的安装和使用: 1. ab的安装 ab的安装非常简单,安装了httpd,就自带ab。 CentOS下的安装:   Ubuntu下的安装: 安装好后,就可以使用ab了。 2. ab使用前的准备工作

    2024年03月27日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包