当前位置: 首页 > news >正文

阿里云性能测试 PTS 上手体验

本文使用到的性能测试 PTS,点击这里,了解详情。

一、业务场景

集团对分司组织业务培训,培训完毕后在App端进⾏答题测试。对App后端接⼝进行压测。

多个分司相同的业务部⻔分批次进行,测试额人员100以内,从题库中随机抽取50道题,考虑每⼈思考在1-10s内提交。保证取题,答题的API接⼝顺畅。

  • 登录
  • 取题
  • 答题
  • 完成

二、引入PTS 对应用进行性能压测

压测参数是:并发200,RPS2000,全程图形化操作,配置过程相对简单,非开发人员都可以直接上手。

2.1 场景配置

主要压测取题、答题两个API,串联取题、答题,中间添加思考时间:

  • 取题API,答题类型,题号配置了随机函数;

pts1

红色框内的系统函数很好用,包括截取字符串、转大写、转小写等,见下图:

pts2

pts4

  • 配置断⾔,判断响应码为200,接⼝正常响应;

pts5

  • 思考时间,模拟⽤户思考答题时间

pts6

  • 答题

pts7

2.2 施压配置

模拟100个⽤户在线操作,初步先给值50。这里100个在线⽤户并不同于100个并发,关于 VU RPS TPS 三者的概念,可参考PTS文档。

  • 并发50,逐步递增;
    pts8

2.3 压测报错

pts9

  • 压测过程中遇到的问题

【响应状态异常】
pts10

被压测端拒绝连接,也就是TCP层⾯被压测端发出了reset。,这个问题引起的原因有:

  1. 带宽上限,新建或者连接维持上限,防⽕火墙拒绝,安全产品拦截,业务服务处理不了主动拒绝。
  2. 连接数、CPS连接数、QPS 到达上限。

【SLB 限制】
pts11

  • 40并发,思考时间 0-5秒
    pts12
  • 100并发,思考时间 0秒

【概览】
pts13

【明细指标】
pts14

由于RPS上限为2000,再多加并发也没有意义了。不过⽬的还是达到了。思考时间设置为0 ,TPS 达到了了 800 左右,RT⽆明显波动。 取了了⼀下ECS的监控,波动也在控制范围内。

  • ECS的CPU 、内存指标
    pts15
  • ECS的⽹网络指标
    pts16

三、压测总结

  1. 压测过程整体⽐较简便,⼀句话总结:云上化繁为简,分布式下测性能;
  2. 遇到的问题2天后又压测⼀一下,压出了SLB 的503,去看了⼀下 QPS 果然超了,我们实际SLB的规格QPS是1000 。

所以,测试过程中要先了解各中间层面的限制,例如防火墙、SLB等。

相关文章:

  • FastDfs 分布式文件系统 安装与配置 (实测成功)
  • 读JVM(深入理解Java虚拟机)笔记(一)
  • Vue之坑
  • flask 第七章 简陋版智能玩具 +MongoDB初识和基本操作
  • 4-1 requests库的安装
  • 学起来:Flutter将支持桌面应用开发
  • 基于binlog方式搭建MySQL主从
  • C# 虹软SDK视频人脸识别和注册
  • redis-主从复制
  • 再见 异步回调, 再见 Async Await, 10 万 个 协程 的 时代 来 了
  • 007《loom》 Chrome翻录网页视频神器
  • 03python面向对象编程1
  • 前端知识杂锦(二)
  • 大传媒时代报业如何驾驭新媒体
  • ELK日志收集(一)-Elasticsearch安装
  • Cumulo 的 ClojureScript 模块已经成型
  • JAVA并发编程--1.基础概念
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • 百度地图API标注+时间轴组件
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 对象引论
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端_面试
  • 前端知识点整理(待续)
  • 深度解析利用ES6进行Promise封装总结
  • 学习JavaScript数据结构与算法 — 树
  • 一道闭包题引发的思考
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 阿里云移动端播放器高级功能介绍
  • 整理一些计算机基础知识!
  • ​卜东波研究员:高观点下的少儿计算思维
  • $.ajax()方法详解
  • (1)STL算法之遍历容器
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (vue)页面文件上传获取:action地址
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • **python多态
  • .gitignore文件---让git自动忽略指定文件
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 中创建支持集合初始化器的类型
  • /proc/vmstat 详解
  • [ C++ ] STL---string类的模拟实现
  • [dfs] 图案计数
  • [Excel] vlookup函数
  • [hdu 3746] Cyclic Nacklace [kmp]
  • [IE编程] 打开/关闭IE8的光标浏览模式(Caret Browsing)
  • [ISITDTU 2019]EasyPHP
  • [LeetCode]--61. Rotate List
  • [math]判断线段是否相交及夹角
  • [MAUI]集成高德地图组件至.NET MAUI Blazor项目
  • [python 刷题] 2866 Beautiful Towers II
  • [python]python监听、操作键盘鼠标库pynput详细教程