示例一:新业务上线

【业务场景】
公司新作了一个电商服务,近期需要上线,需要提前预估下系统性能表现。

【业务指标】
上线后一段时间内(如1个月)预计秒级 浏览:加购:生成订单:支付的比例为10000:8000:6000:5500 的比例。能够正常走通流程,下单不出现异常情况。

【业务流程】

  • 登录—登录信息来源于文件参数
  • 浏览商品—商品信息随机数生成
  • 加购—添加到购物车,添加的商品由上一个接口输出
  • 生成订单---购物车中部分商品合并结算,商品id,随机生成
  • 支付订单—支付订单,订单由上一个接口输出

【压测配置信息概要】
资源包购买:因目标是各api的rps 之和为29500,故购买最大4wrps的包。
业务上是一个流式过程,故放在一个串联链路中,按照业务模型进行API配置:

接口:login,输入参数:username、password,来源文件参数
接口:viewProduct,输入参数:productId(系统函数生成),输出参数:productId
接口:addToCart,输入参数:productId
接口:createOrder,输入参数:productId1,productId2,出参:orderId
接口:payOrder,输入参数:orderId,出参:result

压力配置:RPS模式,每个API按照10000:8000:6000:5500的最大RPS配置,起步设为5%
监控信息:云监控集成(服务部署在阿里云上,使用了ECS/RDS/SLB都进行了监控),因服务不是java的无法使用ARMS监控

【压测过程及结论】
首次压测的时候,全局调速30%的时候,发现RT不高但是失败率特别高,根据云监控发现SLB中拒绝链接的请求很多,发现是SLB的规格限制,扩大slb的容量后继续压测。第二次压测在,调速到50%的时候,发现RT比较高,特别是加购、订单生成的API上,根据RDS监控发现CPU内存使用率比较高,到RDS控制台的CloudDba上看到有慢SQL,排查之后再进行压测调速到80%时,发现整体系统负载水位较高,偶尔会出现rt很高的请求,需要进行一次扩容再继续压测,按照比例扩容后,调速到100%压测,并持续运行10分钟,无异常,系统表现良好。

示例二:活动前容量评估

【业务场景】
春节期间会在微信小程序上做一次抽奖活动(手动点击抽样按钮抽奖),提前预估压力

【业务指标】

  1. 预计有5w名用户参与活动,同时抽奖的预计达到5000。
  2. 抽奖活动不可出现异常和数据错乱的问题。

【业务流程】

  • 获取微信个人信息(如头像、昵称等),登录小程序;
  • 打开活动页面;
  • 用户输入要求的个人信息(如商家要求的信息),提交信息;
  • 点击抽奖按钮进行抽奖;
  • 确认保存中奖信息;

【压测配置信息概要】
资源包购买:因目标是5000 并发用户,为了给系统留一些buffer,购买了1w并发资源包,技术上预计系统承载6k-7k的并发位置。
业务上是一个流式过程,故放在一个串联链路中,按照业务模型进行API配置:

接口:getConfig,输入参数:uid,出参:nick_name
接口:activity_page
接口:post_info,输入参数:nick_name/interest_info
接口:lottery,输入参数:nick_name,出参:lottery_result
接口:check_result,输入参数:is_get_prize,出参:result

压力配置:并发模式,自动递增,场景并发5000,起步5%
监控信息:ARMS监控集成(因自身服务不部署在阿里云上,故无法使用云监控)

【压测过程及结论】
首次压测的时候,在并发2000时,出现了比较大的失败率,RT也达到了1000+ms,根据Timing瀑布流及业务信息排查发现,是入口队列较小,排队情况较多导致的。进行了扩容处理,第二次压测在3000并发时,在抽奖API上RT很大,结合Timing和ARMS监控,看到是在数据库操作上比较慢,并且有慢SQL,优化表、和SQL之后,再进行压测。优化后并发在4000时,发现系统压力较大,cpu 和内存使用比例较高,进行扩容之后,再继续压测。扩容后再压测5000并发时,发现API平均RT在800ms左右,CPU消耗在40% 左右。为了留足系统buffer,进行适量扩容之后,压测到6000,发现系统稳定,即压测结束。

PTS 有奖征稿活动官方示例相关推荐

  1. 【ACDU】国产数据库有奖征文活动开始啦!发原创奖京东卡,最高可领1000元!...

    墨墨导读:为推动数据库国产化进程与技术传播,让大家了解更多国产数据库使用知识.解决国产数据库疑难问题,中国DBA联盟[ACDU]特面向广大网友征稿国产数据库相关原创技术文章,符合要求的,即可获得50元 ...

  2. 【ACDU】国产数据库有奖征文活动开始啦!发原创奖京东卡,最高可领1000元!

    随着我国信息化进程的加快以及互联网技术的广泛应用,大数据.云计算.物联网.5G通信等信息产业的日益成熟,中国自主研发的各种国产数据库百花齐放,中国企业纷纷用国产数据库替换国外数据库,整个"去 ...

  3. 官方示例(十):网页开发3D粒子系统实现降雨效果 ThingJS

    简介:气温的变化会带动水汽条件的变化,带来降雪.降雨.降冰雹等奇异的天气现象,不仅仅是人的活动会受到影响,物联网设备管理.传感器监测及安全作业都要相应调整. 为了提前准备好预案工作,3D孪生场景的仿真 ...

  4. 英雄帖已下,速来揭榜 | 曙光智算有奖征文活动开始啦!

    有道是"天下风云出我辈",近年来,算力江湖风声鹤唳,市场已呈百家争鸣之势.曙光智算于2021年踏入至今,虽然新硎初试,但论手中兵器,仍有不少待打磨之处. 值此曙光智算成立2周年之际 ...

  5. 实现3d图片移动_ThingJS官方示例(三):3D标记Marker动效定制化

    物联网3D可视化场景中,经常用到标注元素作为线路标绘.业务区域标绘,比如定位物联网设备或危险源位置,进行安全作业或者路径导航规划,远程解决难题. ThingJS的3D标记"Marker&qu ...

  6. 【Android 插件化】DroidPlugin 编译运行 ( DroidPlugin 简介 | 编译 DroidPlugin 官方示例 | 运行 DroidPlugin 官方示例 )

    文章目录 一.DroidPlugin 简介 二.DroidPlugin 编译运行 1.编译 DroidPlugin 官方示例 2.运行 DroidPlugin 官方示例 一.DroidPlugin 简 ...

  7. 【Android 热修复】运行 Tinker 官方示例 ( 处理 TINKER_ID 问题 | 编译 debug 包 | 修改 Gradle 脚本 | 生成 patch 包 | 热修复 )

    文章目录 一.下载官方示例源码 二.处理 TINKER_ID 问题 三.编译 debug 包 四.安装 APK 并运行 五.修改 Gradle 构建脚本中的文件名称 六.修改程序逻辑代码 七.生成 p ...

  8. Qt Dock Widgets 官方示例的翻译

    目录名字 Qt Dock Widgets 官方示例的翻译 Dock Widgets Example 介绍: MainWindow Class 定义: MainWindow Class 关联的相关头文件 ...

  9. AXI-IIC官方示例解析

    AXI-IIC官方示例解析 说明:本文是作者自己对Xilinx的AXI-IIC的官方示例的解析,如有错误望各位指正. 文章目录 AXI-IIC官方示例解析 前言 xiic_eeprom_example ...

最新文章

  1. RDKit | 基于PCA探索化学空间
  2. matlab 离散点差值,散点图的插值方法
  3. go WaitGroup的使用
  4. (马世龙)Linux下CACTI完全搭建技术文档一
  5. 算法与数据结构 第2章 排序基础 上
  6. 好看好用的字体软件-字体下载大全提供下载
  7. 一名前端 Leader 的转正述职记录
  8. 函数 单片机glint_为什么用单片机写的自锁开关程序,把开关放到P0.0脚后LED就开始闪烁?...
  9. ArcGIS Pro 专题图制作
  10. php 开源 采集,poscms火车采集教程
  11. 数学定理【转自百度百科】
  12. Android手机上,利用bat脚本模拟用户操作
  13. 极限学习机(Extreme Learning Machine)ELM
  14. SAP标准功能重复制造计划编制表实现生产排产初步分析
  15. 平安科技移动开发二队技术周报(第十二期)
  16. 云计算机是什么原理,云电脑的运行原理是什么?
  17. WampServer最新版一键安装
  18. Excel通过单独选中每列可以实现每隔1列插入1列
  19. 计算机英语发展,计算机发展史(英语版)
  20. 现代操作系统及进程管理(思维导图)

热门文章

  1. java基础知识点(2)—— 环境变量的配置
  2. 浙江大学远程教育计算机应用基础,浙江大学远程教育计算机应用基础.pdf
  3. 【pytest】Hook 方法之 pytest_addoption :注册命令行参数
  4. python django下载_简单了解django文件下载方式
  5. mysql 备份如何使用_如何使用命令来备份和还原MySQL数据库
  6. clustered和nonclustered索引的区别
  7. Calendar的api方法
  8. 统计学基础学习笔记:描述统计量
  9. 大数据学习笔记46:初识日志收集系统Flume
  10. Python案例:两种方法实现词频统计