PTS性能测试企业应用实践

简介: 使用PTS对从本地IDC机房迁移上云在业务切换到云上时需要提前预估下系统性能情况。

企业应用云上性能测试

【业务场景】日程任务管理网站从本地IDC机房迁移上云,在业务切换到云上时需要提前预估下系统性能情况。

【业务指标】 满足同时对集团内的1000用户数并发访问,300用户数并发对日程进行创建、修改、删除等操作,100用户数并发登录。在并发较高的情况下不会产生用户需要等待过长响应时间。

【业务流程】

  1. 用户登录:登录用户的信息来自文件输入
  2. 创建日程:日程信息为随机生成
  3. 日程修改:由上一个创建事件输出的id进行修改
  4. 查看日程:随机获取月、周、日的日程信息

【压测配置信息概要】

  1. 资源包购买:因目标是各api的并发之和为2000,故购买峰值5000并发的资源包。
    image
  2. 业务上是一个流式过程,故放在一个串联链路中,按照业务模型进行API配置:
    i.接口:login,输入参数:username、password,来源文件参数

ii.接口:newSchedule,输入参数:taskInfo 输出参数:taskID, eventState
iii.接口:setSchedule,输入参数:taskID, taskInfo 输出参数eventState
iv.接口:getSchedule,输入参数:taskID,输出参数:taskInfo, eventState
v.接口:delSchedule,输入参数:taskID输出参数:eventState

  1. 压力配置:并发模式,每个API按照 100:300:300:1000:300的最大并发配置,起步设为10%。
    image
  2. 监控信息:采用PTS集成的监控功能(确实很赞!!!)
    image

image
image

【压测过程及结论】

  1. 首先测试按照10%的施压配置进行测试,每次递增10%(每次持续1分钟),到40%时开始发现有和日程相关的api请求成功率开始下降,经排查DMS、CloudMonitor等工具排查后诊断为数据库死锁导致。死锁原因经过分析后由于项目中事务调用产生的PAG范围锁,经过优化后恢复正常。
  2. 第二次压测直接全局调速40%, 压力测试进行到80%时在云监控见到的ECS、RDS内存消耗超过90%,rt明显增高到4000+ms并有超时的情况。进行ECS增加4个节点和RDS的升配之后问题解决。
  3. 第三次压测直接全局调速70%, 整体系统运行正常,施压到100%时getSchedule偶发会出现rt过大或者直接错误的问题。经过一系列排查该api调用参数范围过大时会导致处理时间过长或者直接提示超时,调整tomcat连接超时时长及对该api输入参数范围进行限制解决了该问题。
  4. 第四次压测,施压配置从10% - 100%,压测过程中及在100%压测5分钟的情况下系统rt稳定,无失败的情况出现,系统利用率较好。

**亲测感受:
非常喜欢PTS性能测试工具,对于新手了解文档说明后都可以开箱即用,配置及操作简单,都是可以在控制台完成一系列的操作。
对于产品设计有很多贴心的小细节,例如域名绑定IP即可对单点做性能测试,例如实例及ARMS监控集成都方便了开发者在压测时的操作,例如可以动态去调速全局或单个串联链路。对用使用者来说即高的提升了测试效率及便捷,很赞!!!**

附上压力测试过程中截图
image
image
image
image
image

关于并发虚拟用户、RPS、TPS的区别可以参考官方文献:
https://help.aliyun.com/document_detail/29343.html

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
18天前
|
安全 Linux 测试技术
提升龙蜥内核测试能力!探究持续性模糊测试优化实践
清华大学软件学院对Anolis OS使用靶向模糊测试方法将测试工作引向修改的代码,进而提高对业务代码的测试能力。
|
1月前
|
SQL 搜索推荐 测试技术
【Havenask实践篇】完整的性能测试
Havenask是阿里巴巴智能引擎事业部自研的开源高性能搜索引擎,深度支持了包括淘宝、天猫、菜鸟、高德、饿了么在内几乎整个阿里的搜索业务。性能测试的目的在于评估搜索引擎在各种负载和条件下的响应速度、稳定性。通过模拟不同的用户行为和查询模式,我们可以揭示潜在的瓶颈、优化索引策略、调整系统配置,并确保Havenask在用户数量激增或数据量剧增时仍能保持稳定运行。本文举例对Havenask进行召回性能测试的一个简单场景,在搭建好Havenask服务并写入数据后,使用wrk对Havenask进行压测,查看QPS和查询耗时等性能指标。
65364 6
|
2月前
|
安全 测试技术
测试团队的一次复盘实践
测试团队的一次复盘实践
142 0
|
3月前
|
安全 jenkins 测试技术
自动化测试与持续集成/持续交付(CI/CD)的实践与应用
自动化测试是现代软件开发不可或缺的环节,它可以有效地提高测试效率、降低测试成本。而持续集成/持续交付(CI/CD)则是一种基于自动化的软件开发流程,能够将代码的开发、构建、测试和部署等过程无缝连接起来,从而实现快速迭代和部署。本文将结合实际案例,介绍自动化测试和CI/CD的实践与应用。
144 2
|
3月前
|
监控 供应链 测试技术
PTS压测问题之自动变成500 并发如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
277 2
|
3月前
|
测试技术 UED
PTS压测问题之资源准备好慢如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
245 1
|
25天前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
68 0
|
27天前
|
敏捷开发 IDE 测试技术
深入理解自动化测试框架Selenium的设计理念与实践
随着敏捷开发和持续集成的理念深入人心,自动化测试在软件开发周期中扮演着越来越重要的角色。Selenium作为一个广泛使用的自动化测试工具,其设计理念和实践对于提高测试效率和质量具有指导意义。本文将深入探讨Selenium的核心设计原则、架构以及最佳实践,旨在帮助读者构建更稳定、高效的自动化测试系统。
|
27天前
|
jenkins 测试技术 持续交付
深入理解自动化测试框架设计原则与实践
本文旨在探讨自动化测试框架的设计原则及其在实际项目中的应用。通过对自动化测试框架的系统剖析,我们揭示了有效构建和维持测试框架的核心要素,并提供了一套实用的指导方案来帮助读者实现高效、可靠的自动化测试流程。文章不仅聚焦于框架的技术细节,也强调了灵活性、可维护性和可扩展性在设计时的重要性,同时结合实际案例分析,展示了如何在不同测试环境中定制化和优化测试框架。
|
29天前
|
机器学习/深度学习 敏捷开发 人工智能
深入探索软件自动化测试:框架与实践
【2月更文挑战第30天】 在快速迭代的软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将深入探讨自动化测试的核心概念、常用框架以及在实际项目中的应用实践。我们将分析自动化测试的优势,并讨论其在不同开发阶段的作用,同时提出构建高效自动化测试流程的策略。通过实际案例分析,本文旨在为读者提供一套系统的自动化测试解决方案,以应对日益复杂的软件测试挑战。