阿里云性能测试 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等。

猜你喜欢

转载自yq.aliyun.com/articles/699725