共计 1284 个字符,预计需要花费 4 分钟才能阅读完成。
作者:拂衣
引言
“压测脚本在我压测环境上跑的好好的,成功率、RT 都很失常,放到本地跑怎么体现就不一样了?”
大家压测时是否都遇到过上述问题?
除了陈词滥调的硬件配置起因,流量散布 因素往往容易被疏忽。
为什么要模仿实在用户流量
压测是为了模仿一定量的实在用户对系统进行拜访。实在的用户量能够通过设置并发线程数(虚构用户数)来模仿;用户的起源散布,具体说是流量散布,也是重要的模仿条件。
辅助全局容量布局
用户量较大的利用,个别会采纳异地多活的部署形式。出于老本思考,各核心部署规格不肯定雷同,当地用户越多,核心实例数越多,规格越高。大促压测就是要依照实在用户散布比例,来模仿流量。测试出哪些核心容量水位过高,会造成当地用户响应提早甚至服务解体;哪些核心容量水位又过低,能够适当降级,将多余的实例额度正当调配进来。实现从全局层面布局容量,在撑住大促流量的同时,也正当管制老本。
测试出实在相映提早
数据表明,对于电商业务外围接口,响应工夫每减少 100ms,营收额对应降落 1%。如果施压机和服务器在同一机房,测试出的申请响应时长(RT)会比真实情况要低,因为用户是全国散布的。对响应提早误判低出的零点几秒,就可能会造成对大促成交额的谬误预期。
通过下图能够直观的看出问题:
如何模仿实在流量
传统计划
大部分业务的用户并不是按地区均分的,相同,往往很不平均。要模仿实在流量散布,施压机须要在各地 扩散部署 ,并且反对 按地区、按量调配,在压测时,还要反对实时的对立调度。如果施压机都散布在一个 Region,甚至是一个可用区内,那是无奈模拟出来自寰球用户申请的。
这样就须要在国内和海内部署大量的施压机,如果压测频率并不很高,那机器的闲置老本可想而知。而按地区、按量调配的调度零碎,也须要肯定的保护老本。
阿里云 PTS 计划
应用阿里云性能测试服务(PTS)压测时,开启流量地区定制性能,即可指定施压机的地区散布,目前反对寰球 22 个 Region 的地区定制。阿里云 PTS 作为大促压测重武器,“威力”不减,上手更轻量化。
反对地区见表格:
无论选用哪种计划,最终都要达到施压机地区散布和用户散布统一。
操作指南
1、创立一个压测场景,参考 PTS 领导文档(具体请见文末相干链接);
2、在施压配置中,关上流量地区配置,按业务需要调配流量比例,右侧能够看到流量散布的饼图:
3、开始压测,在压测概览页,能够查看流量地区散布:
总结
压测时,压力流量起源是一个很容易被疏忽的因素,要保障压测后果真实可信,就须要依照实在用户的地区散布来筹备施压机。阿里云 PTS 提供了流量地区定制性能,即压即用,反对寰球 22 个 Region,9.9¥体验版资源包即可应用。
相干链接
1)阿里云 PTS:
https://pts.console.aliyun.com/#/overviewpage
2)开明 PTS 体验版资源包
https://common-buy.aliyun.com/?commodityCode=ptsbag#/buy
3)PTS 领导文档https://help.aliyun.com/document_detail/90887.html