全站搜索
设为首页加入收藏
联系我们
地? 址:杭州市莫山南路868号
??????? 汽车西站旁
电? 话:0571-98765432
??????? 0571-98765432
联系人:杨军(经理)
手 ?机:15887654321
工具
?
工具
学习门槛居高不下的同时也不利于脚本的维护
作者:admin ?? 发布于:2019-07-08 18:21 ?? 文字:【】【】【

  本文努力于给出机能压测的概念与布景引见,同时针对市场上的一些机能压测东西,给出响应的对比,从而协助大师更好地针对本身需求实现机能压测。

  在新系统上线前,通过施行机能压测可以或许对系统的负载能力有较为清晰的认知,从而连系预估的潜在用户数量保障系统上线. 手艺升级验证

  PTS 支撑添加阿里云生态内的云监控产物,如添加阿里云生态内的机能办理类产物ARMS,供给使用级此外监控,为机能压测供给问题定位的闭环能力;此外 PTS 云端集成 JMeter,用户只需在当地完成 JMeter 脚本调试,即可在 PTS 上快速倡议压测。

  阐发解读机能压测成果演讲,鉴定机能压测能否达到预期方针,若不满足,要基于机能压测成果演讲阐发缘由由上述步调可知,一次成功的机能压测涉及到多个环节,从场景设想到施压再到阐发,缺一不成。工欲善其事,必先利其器,而一款合适的机能东西意味着我们可以或许在尽可能短的时间内完成一次合理的机能压测,达到事半功倍的结果。

  针对机能压测方针以及拔取的机能压测情况,制定机能压测通过尺度,对于分歧于线上情况的机能压测情况,通过尺度也该当适度放宽

  在营业峰值到来前,通过充实的机能压测,确保大促勾当等峰值营业不变性,保障峰值营业不受损。

  总的来说,ab作为一款号令行测试东西,合用于当地对支撑HTTP和谈的单一地址进行机能压测,但贫乏响应的链路编排、场景办理、数据可视化等大规模机能压测根本功能,无法使用于出产情况。

  作为一款时下抢手的开源机能压测东西,按照谷歌搜刮指数显示,JMeter 曾经逐步展示出了替代 LoadRunner 的趋向,如图:

  但ab也具有一些错误谬误,如无图形化界面支撑,支撑和谈较为单一,只支撑HTTP和谈,贫乏对HTTPS和谈、WebSocket等和谈的支撑,对于较为复杂的机能压测场景,ab贫乏链路编排、场景办理等支撑,只可以或许对单一地址倡议机能压测,此外,它的机能压测统计目标纬度较少,贫乏机能压测过程中的数据统计,只可以或许在压测竣事后获取相关的统计数据,无法及时获取系统负载等目标,难以使用于出产情况下的机能压测。

  LoadRunner,是一款发布于1993年11月的预测系统行为和机能的负载测试东西。通过以模仿上万万用户实施并发负载及及时机能监测的体例来确认和查找问题,LoadRunner作为一款汗青长久的贸易机能压测东西,可以或许对整个企业架构进行测试。企业利用LoadRunner能最大限度地缩短测试时间,优化机能和加快使用系统的发布周期。 LoadRunner可合用于各类系统架构的主动负载测试,能预测系统行为并评估系统机能。

  总的来说,阿里云 PTS 作为一款云办事,用户能够较低的进修成本快速借助 PTS 发器压测,对于阿里云的用户来说,PTS 可以或许慎密连系现有的阿里云办事,供给全方位的压测演讲供用户快速定位机能瓶颈;对于 JMeter 用户,也可以或许以较低的成本迁徙至 PTS,享受 PTS 的高阶功能。但 PTS 也具有一些问题,扩展性需要加强,例如需要支撑更多收集和谈。某创业公司A即将上线一项新功能,为了在上线前充实测试,保障办事的高可用性,测试人员给出了响应的测试需求:

  殷成涛,混名风起,阿里云PTS开辟工程师,专注于机能压测与高可用架构范畴。

  Apache JMeter是Apache组织开辟的基于Java的压力测试东西。它能够用于测试静态和动态资本,例如静态文件、Java 小办事法式、CGI 脚本、Java 对象、数据库、FTP 办事器等等。别的,JMeter可以或许对使用法式做功能/回归测试,通过建立带有断言的脚本来验证你的法式前往了你期望的成果。为了最大限度的矫捷性,JMeter答应利用正则表达式建立断言。同时JMeter支撑对机能压测成果做图形阐发。

  PTS 监控目标包罗每个 API 的并发,RPS (Requests per Second)、响应时间、采样的日记等。同时从分歧细分维度,统计了 API 请求的成功、失败环境和响应时间,可以或许协助用户快速定位到系统的机能瓶颈。此外,PTS还可以或许连系阿里云生态内的云产物监控,如监控ECS、SLB及RDS等在内的各产物机能目标;为云上办事供给更为详尽的监控。

  ab是一款用来针对HTTP和谈做机能压测的号令行东西,支撑在当地情况倡议测试请求,验证办事器的处置机能。它次要具有以下特点:

  在引见机能压测概念与布景之前,起首注释下为什么要做机能压测。从09年的淘宝双十一大促导致多家合作银行后台系统接连宕机,到春运期间12306购票难,再到前不久聚美优品促销勾当刚起头就遭秒杀。按照Amazon统计,每慢100毫秒,买卖额下降1%。这些事务和统计数据为大师敲响了警钟,也客观申明了机能压测对于企业使用的主要性。

  连系上述的各机能压测东西优错误谬误,仅有 PTS 满足客户需求,下面我们具体看一下 PTS 若何实现该案例需求。

  本文引见了机能压测的概念以及相关布景,并针对目前几款受众相对较多的机能压测东西给出了优错误谬误阐发,每种东西都有响应的优错误谬误,大师能够针对本身需求拔取合适的机能压测东西。

  声明:该文概念仅代表作者本人,搜狐号系消息发布平台,搜狐仅供给消息存储空间办事。

  从具体的感化上讲,机能压测能够用于新系统上线支撑、手艺升级验证、营业峰值不变性保障、站点容量规划以及机能瓶颈探测。

  总的来说,LoadRunner 作为一款机能压测贸易软件,功能较为齐备,利用者可以或许借助 LoadRunner 达到简单的机能压测场景编排、施压方针;但它也具有进修成本居高不下、扩展性差等错误谬误,此外支撑的和谈无限,不适合复杂的机能压测情况。

  起首为了可以或许实现每天凌晨一点测试,我们能够利用 PTS 所供给的按时压测功能,通过把场景设置为按时压测使命,连系cron表达式能够实现每天凌晨一点主动运转该压测场景,设置装备摆设如下图所示:

  从组件划分上能够看出 LoadRunner 对于机能压测具有较为系统的支撑,连系多个组件的功能特征,用户能够较为便利地设想复杂布景下的机能压测场景,例如连系场景设想设置虚拟用户数量、设置施行时间等,连系虚拟用户生成器实现复杂链路、场景的高效设想与编排。

  但在需要高负载施压的场景下,JMeter 需要摆设分布式情况,摆设成本比力高,在利用时,需要编写响应的脚本,而每个脚本文件只能保留一个测试用例,进修门槛居高不下的同时也晦气于脚本的维护,此外它贫乏监控诉警等支撑,在机能压测过程中利用人员难以借助 JMeter 及时发觉问题。

  JMeter 作为一款开源软件,扩展性强,具有强大的开源社区支撑,社区内开辟者活跃程度高,也恰是在开源社区的积极成长下,JMeter 具有机能压测的诸多特征,如支撑场景编排、断言设置,支撑对多种资本施压,有图形化界面支撑,支撑脚本录制,利用人员可以或许较为简单的设想并倡议机能压测,此外 JMeter 供给资本监控、机能压测演讲生成等功能。

  PTS 供给了链路、场景编排压测演讲导出的功能、,除了保守的并发模式(虚拟用户并发),PTS也支撑 RPS 模式(Requests per Second),也即吞吐量模式,RPS 模式为 PTS 独有,具有可以或许更精准地权衡办事端系统能力等长处。为了降低倡议机能压测的门槛,PTS 供给云端录制器,便于客户端的请求抓取,同时还可将抓取的请求一键导入到压测场景中;为了适配分歧场景下的机能压测,PTS 支撑建立办事品级和谈 SLA(Service Level Agreement)法则,可以或许实现对营业压测场景更智能的节制和更全面合理的评价,同时,PTS 也供给了大量 SLA 模板供分歧布景下的用户利用;此外,PTS 还支撑按时压测,可以或许指定启动压测的日期、时间以及轮回周期等,可以或许在肆意时间段自在倡议机能压测,释放人力。

  在系统重构过程中,通过机能压考试证对比,能够无效验证新手艺的高效性,指点系统重构。

  PTS 可以或许随机安排遍及全国各地的压测引擎,一分钟内快速启动机能压测,模仿实在情况下的用户请求;支撑最高万万级的流量瞬时脉冲,多重机制确保压测流量及时遏制;支撑两种调速模式:主动递增和手动调整,压测流量调整秒级生效。

  但 LoadRunner 作为一款贸易软件,价钱较高,需要当地安装,安装过程较复杂,在现实设想施行压测时需要编写响应的脚本,对利用人员来说进修成本比力高,此外贫乏监控诉警等支撑,机能压测过程中难以及时发觉问题。

  在阐述了机能压测需要性之后,若何拔取机能压测东西成为一个主要的议题?本文拔取了市场上支流机能压测东西:(ab)Apache Bench、LoadRunner、JMeter、阿里云PTS,并从多个方面出发阐发了各个东西的优错误谬误,汇总后的优错误谬误如下表所示:

  本文是《Performance Test Together》(简称PTT)系列专题分享的第二期,该专题将从机能压测的设想、实现、施行、监控、问题定位和阐发、使用场景等多个纬度对机能压测的全过程进行拆解,以协助大师建立完整的机能压测的理论系统,并供给有例可依的实战。

  此外,利用ab时还能够通过指定机能压测发生的总请求数、并发数与压测时长节制机能压测,连系其可以或许输出机能压测过程中的TPS(每秒事务数)、RT(响应时延)等消息的特点,ab具有简单易上手的特点。

  机能测试办事(Performance Testing Service,简称 PTS)是一个 SaaS 机能测试平台,供给场景 API 编排功能。连系阿里巴巴的自研平台和引擎,支撑按需设定压测模式、压丈量级、压测时间,快速倡议压测,监控压测过程并生成演讲等功能,同时也兼容开源东西 JMeter。

  此外,LoadRunner支撑设置思虑时间、调集点,还能够连系阐发器实现压测演讲统计数据、目标的可视化,助力测试人员理解机能压测成果。

脚注信息
版权所有Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有技术支持: