简述
前端压测主要针对服务端渲染 (SSR) 的前端项目进行压测,通常客户端渲染(CSR)的前端项目主要采用Nginx服务器;部分活动页面可能会存在短时间内页面访问量激增,导致TTFB过长,影响用户体验,导致流失用户。
前端服务端渲染框架:Nextjs
框架文档地址:nextjs.org/
工具
-
阿里PTS压测工具(目前采用), 产品文档。
- 优点:简单易用,报告清晰;
- 缺点:需要付费;
-
Jemter 工具进行压测。
- 优点:配置灵活,免费;
- 缺点:有一定学习成本,本地测试会对本地机器性能产生开销;
方案
-
设定目标
业务方给出该压测标准,例如:峰值按照300* *QPS**进行压测,研发和测试按照 目标值 的1.5 倍(300QPS * 1.5 = 450QPS压测)的标准值进行压测。
接口响应时间,最长2s,超出全部默认失败;
-
划定范围
确定访问目标服务器的接口地址,例如 balabal.com/index.html , balabal.com/index.json 等。
-
准备压测环境
准备好压测环境的服务器,将前端项目部署在压测服务器;手动配置压测服务器的配置信息,如核心数和内存;
-
实施压测
服务器配置1H1G 进行压测(不自动扩容),压测过程中逐步提升QPS量,同时记录被压 服务器资 rt + 报错率 + CPU + 内存使用率。
先按照压出当前1H1G进行压测出极限之后,逐步增加配置,同时记录上述压测数据,直到达到目标值的1.5倍的服务器配置;
-
分析压测瓶颈
如果压测过程中出现瓶颈,对服务器进行分析找出原因,是否需要调优或者是否还有调优的空间,同时给出高可用方案。
-
验收
最后交付压测结果,需要业务方和开发人员确认,关于资源和预算。