二手市场网站建设的目的,怎样查网站和增加网站,互联网+创业项目,公司注册与注销web应用#xff0c;通俗来讲就是一个网站#xff0c;主要依托于浏览器实现其功能。
提到压力测试#xff0c;我们想到的是服务端压力测试#xff0c;其实这是片面的#xff0c;完整的压力测试包含服务端压力测试和前端压力测试。
下文将从以下几部分内容展开#xff1a…
web应用通俗来讲就是一个网站主要依托于浏览器实现其功能。
提到压力测试我们想到的是服务端压力测试其实这是片面的完整的压力测试包含服务端压力测试和前端压力测试。
下文将从以下几部分内容展开
web应用压测范围压测流程补充1前端压力测试补充2后端压力测试学习资料分享
一、web应用压力测试范围
web应用的最开始是不分前后端的后来随着网站功能越来越丰富前后端不分离的架构显得低效和落后这时候前后端分离的架构应用而生。 在前后端分离的架构模式下前后端工程师约定好数据交互接口实现并行开发。所以一个web应用其实是包含前端和后端两个独立的部分。
另外Google DoubleClick 研究表明如果一个网页加载时长每增加 1 秒用户就会流失 10%加载时长超过 3 秒用户就会离开。
因此对于一个新的web应用来说除了常见的服务端压力测试前端的压力测试也是不可或缺的。
一个完整的web应用压力测试流程如下图所示 二、压测流程
1、确定压测范围和压测目标
压测范围如果是全新的项目原则上所有的功能和接口基本都要压测。如果是老项目新增的需求则需要评估影响范围确定老的功能和接口是否需要压测
压测目标如果是全新的项目要根据行业内的基本情况和经验定一个预估目标如果是老项目可以根据历史流量峰值作为参考目标。
2、制定压测方案
根据上一步的预期目标制定压测方案。具体包含压测环境压测时间相关负责人测试工具或平台验收标准
压测环境为了还原真实的压力场景一般选择预发环境或生产环境进行压测
压测时间压测一般在功能测试或接口测试完成后介入。
压测工具或平台前端压测可以使用PageSpeed等平台后端压测一般会使用 jmeter、loadrunner等工具。详细内容见补充1补充2
验收标准一般来说要达到压测目标的预估值
3、压测准备
压测机准备好压测机群用于发送请求
服务器由于压测流量会较高所以需要提前准备服务器集群用于承接流量或扩容使用
数据准备准备用于压测的数据一般来说要和真实数据做区分准备压测脚本一般来说要添加标识以便于和真实流量区分
4、实施压测
施压在施压的过程中从较小流量开始逐步加压
观察在逐步加压的过程需要观察rt、error(报错率)、服务器的cpu、内存使用率等数据如发现异常要及时停止压测待排查和解决问题后再进行压测
5、压测观察瓶颈分析
如何判断应用的承受能力
在压测过程中观察报错率、响应时间等指标如出现指标异常则说明流量达到当前的瓶颈需要停止压测分析并排查原因。
以下是几种常见异常的分析方法
成功率未达标查看错误日志排查错误根本原因进行性能调优响应时间未达标对照错误日志、链路追踪结果、服务器性能指标、数据库/中间件监控指标找到响应时间过长的具体原因吞吐量未达标如果成功率和响应时间均达标建议不断增加模拟用户数重新压测查看测试结果
什么时候需要增加服务器
在上一步出现瓶颈调优之后继续加压观察各项指标
第一种情况服务器cpu、内存等指标均未达瓶颈通常以使用率达到70%-80%为瓶颈qps、rt、报错率等指标出现异常此时需要重复上一步排查问题并优化第二种情况rt、报错率等指标未出现异常服务器cpu、内存使用率即将达到瓶颈且未达到预期的压测目标此时无法通过调优来解决需要增加服务器 6、验收
达到预期目标达到预期目标一般可以认为压测通过
未达到预期目标如因各方面原因资源、预算等未达预期目标需要产品经理和研发经理对压测结果确认
7、发送压测报告
如何写一份好的压测报告可以参考这里 如何做一份精致的性能测试报告 - 知乎
8、项目上线
前面的步骤都完成之后项目可以发布上线。
补充1前端压测
google 开发者提出了一种 RAIL 模型来衡量应用的前端性能即 response响应、animation动画、idle空闲与load加载。 RAIL 模型的广泛使用关键指标如下 工具使用PageSpeed
PageSpeed 是 google 一个开源的自动化工具安装 PageSpeed 扩展程序运行即可
报告结果如图 该工具功能丰富报告也非常详细并给出了优化建议根据测试报告做对应的优化即可。
补充2后端压测
后端即指服务端后端压测就是服务端压测也可以称为服务器压力测试。
在压测过程中一般关注下面几个指标qps(处理的请求量)、rt(响应时间)、error报错率、cup(cpu使用率)、mem(内存占用情况)、load(负载)、traffic(网络速率)。
通过观察qps、rt、error等关键指标找到服务器的性能瓶颈如果低于预期则需要调优。 通过压力测试提前发现服务器瓶颈及时优化避免网站一上线就奔溃。
工具压测常用的工具有loadrunner和jmeter文末有学习视频
Jmeter 是一款使用Java开发的开源免费的测试工具 主要用来做性能测试JMeter 可以用于对服务器、网络或对象模拟巨大的负载有丰富的图形界面脚本配置方便易用。
LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。