美文网首页互联网科技大数据&云计算性能测试
业务系统 Over 阿里云性能压测的最佳实践

业务系统 Over 阿里云性能压测的最佳实践

作者: 阿里云技术 | 来源:发表于2019-11-11 15:59 被阅读0次

业务系统性能压测的最佳实践

压测工具的选择

目前主流的压测工具有

  1. ab
  2. Jmeter
  3. 阿里云PTS

如何来选择呢,我们建议如果是简单压测,可以直接使用ab来进行,它可以通过一条命令来快速的发起指定并发数的请求。但如果需要进行复杂的压测,建议使用后两者:

Jmeter是开源的压测工具,可以实现非常复杂的压测需求,比如设定一个包含很多URL的场景、配置一个施压集群来发起压测测试等等,而阿里云PTS服务,相较于Jmeter增加了许多独特的功能,比如:

  1. 施压流量来自真实CDN节点,最大限度模拟真实流量的路径
  2. 纯SaaS,无需额外安装和部署
  3. 兼容Jmeter脚本,可以平滑的复用之前的jmx脚本文件
  4. 配置界面所见即所得,对于新手非常友好

所以,我们建议大家根据实际的压测需求来选择压测工具。另外,如果您对PTS感兴趣,可以前往PTS控制台进一步了解。


阿里云上业务压测流程上的注意事项

施压前

  1. 对业务系统容量有一个预估,比如QPS、并发用户量
  2. 确定好压测时间和压测环境,尽量不要直接对生产环境压测,避免影响业务
  3. 若链路上存在SLB,建议至少使用4台施压机来压测,施压机越多,SLB的转发会越均衡
  4. 合理安排施压机的压测能力,若单台施压机无法满足施压需求,可以构建Jmeter施压集群或者使用PTS进行压测
  5. 若链路上存在安全模块,如高防、Web应用防火墙等,建议对施压机的源IP添加白名单,避免施压机被安全模块拦截

施压中

  1. 密切关注被压测的模块的各项监控
  2. 当出现瓶颈时就可以考虑停止或延迟若干分钟停止压测,避免产生无效的压测流量

施压后

  1. 结合业务数据对施压结果进行分析,确定系统是否可以达到预期的目标
  2. 出现瓶颈后,需要及时优化业务程序

压测结果相关

如何判断目标系统是否出现瓶颈?

判断瓶颈的方法非常多,比较简单的方法之一是增加并发用户数量,查看目标系统的TPS是否同步上涨,如果没有出现增加,甚至出现了下降,说明业务系统处理每个请求的时间变长,可以近似理解为此时的业务系统就出现了瓶颈。

并发用户、RPS、TPS如何解读

名词的定义千差万别,但归根结底的形容都是类似的,以下可以作参考:

并发用户:施压机上同时去请求的用户数量,比如500个并发用户,配置的施压目标是串行的两个URL,那么施压过程中,就会有500个客户端,不停地去请求URL 1和URL 2,用户之间的请求互不影响,并发的请求,而每个用户是先请求URL 1,得到结果后在请求URL 2,得到结果后再循环请求URL 1,以此类推。

RPS:在PTS中,RPS被定义为施压机每秒发出的请求数

TPS:在PTS中,TPS被定义为压测目标每秒执行的事物数,若目标系统是基于HTTP(S),可以理解为每秒能够执行多少HTTP请求。

那么有的同学会问了,TPS和RPS有什么差别呢?在正常情况下,RPS的数值近似等同于TPS,TPS对于一个系统来说,是恒定的,但只要施压机性能还够,RPS还可以提升,只是此时目标系统已经无法处理,可能会出现连接失败、请求超时等异常的响应,那么此时,RPS是大于TPS的,需要及时停止施压并分析目标系统为何会出现异常。

阅读原文
本文为云栖社区原创内容,未经允许不得转载。

相关文章

  • 业务系统 Over 阿里云性能压测的最佳实践

    业务系统性能压测的最佳实践 压测工具的选择 目前主流的压测工具有 ab Jmeter 阿里云PTS 如何来选择呢,...

  • 业务系统 Over 阿里云性能压测的最佳实践

    业务系统性能压测的最佳实践 压测工具的选择 目前主流的压测工具有 ab Jmeter 阿里云PTS 如何来选择呢,...

  • 谈谈压测

    目的 验证单个业务及整个的处理能力及响应时间等 验证系统的性能瓶颈 做容量规划 分类 单接口压测 全链路压测 性能...

  • rabbitmq消息标记拦截处理

    链路压测是一种常见的压测手段,可以测试出系统,链路的性能瓶颈在哪。大公司基本都有根据自己的业务开发的整套链路压测的...

  • Apache Jmeter压力测试与性能监控

    项目在功能开发差不多的时候,常常需要关注系统的性能指标,需要对服务进行性能压测。系统在性能压测过程中,需要关注被压...

  • 服务器压力测试

    我的博客主页:笔头博客 一般分三类:普通工具:ab、jmeter,webbench云工具:腾讯压测大师,阿里云性能...

  • JAVA应用压测性能问题的分析思路框架,也是一个决策图

    转载阿里巴巴云原生的JAVA应用压测性能问题定位经验分享[https://mp.weixin.qq.com/s/N...

  • 提升cpu使用率

    如何优化压测工具发压能力 -- 提升cpu使用率 压测工具工作流程 压测工具一般在性能压测过程中用于对被压的系统产...

  • 全链路压测汇总思路

    简介 发压场景设计执行(压测建模-单系统-类-方法-数据存储/多系统-业务场景保真),-> 压测平台的实现 -> ...

  • 系统的性能压测

    性能测试 为了保证系统在线上稳定运行,需要对系统做性能测试,看是否可抗住线上流量。性能测试是一个总称,具体可以细分...

网友评论

    本文标题:业务系统 Over 阿里云性能压测的最佳实践

    本文链接:https://www.haomeiwen.com/subject/alstictx.html