淘宝性能自动化测试平台搭建过程小强找BUG

淘宝网的性能测试自动化平台具备了分布式、高并发、低成本、可扩展等特性的性能测试平台工具,它包括性能项目管理、环境管理、脚本管理、场景管理、任务管理、监控管理、结果管理等模块,以及前端性能测试模块、性能测试报告模块、性能缺陷模块、和性能基线模块等,后台还有完善的分布式压测引擎管理平台。

本文结合性能测试在企业云架构上的应用案例,介绍淘宝网的性能测试从无到有经历的阶段,同时介绍自主研发的自动化性能测试平台诞生的条件和过程,解析如何使用性能测试的方法保障企业应用的性能,同时如何构建一个性能自动化测试平台。

(全文共9698字预计阅读时长:12分钟)

淘宝网性能测试团队成立于2009年1月,当时团队只有2个人。从那个时候起,团队成员便开始参与或负责淘宝网的核心技术架构变革的性能测试工作,当时的“五彩石”项目就是团队的一个关键里程碑,它代表了性能测试团队的第一次大规模实践和产出。

团队刚好经历淘宝网的技术由Java初期时代到大规模分布式系统时代,也经历了在这个时代所产生的问题。

性能测试团队发展至今,其成长过程大致可分为业务发展、平台发展和产品上云三个阶段。

淘宝网性能测试的演变

淘宝网性能测试的发展过程如表1所示。

表1淘宝网性能测试的发展

●1.1业务发展阶段(2016年1月到2011年8月)

它是性能测试团队成长的基础,是性能团队、积累和总结的过程。这个阶段在大量的做项目和日常的业务测试,每个成员都同时承担着超过5条产品线的项目性能工作,同时测试的项目最多时可达十余个。在这种高强度高压力的业务测试历练中,团队的每一位成员都拥有了丰富的业务测试经验,对今后团队的发展、技术发展和平台发展都起到了重要的基石作用。

在这个团队雏形时期,产出了具备一定参考价值的《性能测试白皮书》、《性能测试宝典》、《性能测试大型项目压测模型》、《性能测试常用工具和使用方法》、《性能测试流程》等文档;同时也产出了性能测试的各种方案,包括《性能测试设计方案模板》、《性能环境守则》、《性能环境目录规范》、《性能测试报告模板》、《性能测试过程文件》、《性能测试环境搭建规程》、《性能测试流程图》、《性能测试日报模板》、《性能测试资源申请模板》等,这些文档和方案直到现在对于业界新人仍然起到了入门、学习和引导的作用。

●1.2平台发展阶段(2011年9月到2013年8月)

它是性能测试团队创新的阶段和过程。业务发展到一定阶段,必然需要产品、平台的支持才可以走得更远,更加专业,2011年的8月,团队的TL意识到以下几点:

在当时的系统工具和平台部门下,我们这样一个专业的性能测试团队,却没有一个适合自己、适合淘宝的性能测试工具和平台,这种情况的改变迫在眉睫,去除Loadrunner更是当务之急。

在这个阶段,我们为了解决性能资源申请和透明化、流程化的瓶颈,产出了“T-work性能中心”;为了解决线上线下性能对比的问题,和核心团队合作,开发了“线上线下跟踪体系平台”、“线上线下容量评估平台”,也就是CSP的前身;紧接着团队自己开发了“性能自动化测试平台-PAP”当时还是以Tsung为主性能测试压测引擎,在平台积累了一定量的用户以后,我们继续开发了核心压测引擎“分布式压测引擎-Trunner”、“压测引擎管理平台-Trunner-console”、“前端性能测试平台”等。

同时我们除了前端性能测试,也开始着手研究客户端性能测试方法(旺旺)、无线性能测试方法等,使得性能测试在支持阿里集团各BU上更加专业、更加广泛,且朝着体系化、平台化和系统化的方向发展。

●1.3共建和云测试发展阶段(2013年9月至今)

在这个阶段,我们团队邀请了更多的人员参与共建。为了适应发展,团队拆分为了平台和业务两个分支。平台的同学继续维护目前的PAP,同时提高用户体验;而业务的同学则分拆到各个业务线。其目的一方面是帮助各业务线建立一套适合自己产品线的性能测试的基线、标准和方法,同时建立回归体系,保障线上产品的稳定;另一方面帮助各业务线测试同学的成长,让性能测试的范围覆盖面更广,使得面向人人性能测试的终极目标更进一步。

这其间,我们团队获得了技术质量部共建优秀团队奖,同时产品共建支持了包括QR、TMD、DUBBO、QTEST、DDOS等更多协议和工具的性能测试工作;也支持了作为JAE的对外核心性能测试平台的工作,同时我们通过双十一和聚石塔的合作,逐渐开始向外部客户发展。从刚开始的ISV到目前的阿里云所有客户,以及面向更多的客户,基于PAP开发了支持ISV双十一等活动的JST_PTS和支持阿里云客户的ALIYUN_PTS,同时也围绕着阿里云客户的需求,融入DTS和管理平台,引入计费模式,最终使得PTS对外正式发布收费,向云测之路又迈出了坚实的一步。

性能测试评估和流程

在支持外部客户性能测试的过程中,我们发现,大量的用户认为性能测试只是传统的压测,使用压测工具,配置一个url或者录制一个url就完成了,然后直接开始压测。

其实工具只是一个辅助手段,一个工具有大量的配置规则,一个url也有很多的内容组成,要找到一个适合自己的压测工具、压测方法和压测手段,同时也要了解压哪个url,以及压测url的哪一部分是适合的。

例如一个页面有以下的问题:

第一次测试,网站并发数没有超过35个,大量超时。

第二次测试,网站上做了优化以后,并发用户数100以内时响应5s,200以内时90%响应在15s以上,随着并发用户数的增加,页面响应最高可到20多秒。

注:测试工具Loadrunner

我们该如何评估和分析呢?

首先我们要了解这个URL的访问过程如图1所示,分别从访问路径和URL包含内容来分析。

图1URL的访问过程

这里,URL经过浏览器,通过网络进入服务器;再通过网络,进入数据库存储,最后返回给用户。

所以性能的评估也要从这几个方面去分析,我们压测的是不是这几个路径,需要压测什么,需要怎么压。

根据以上的路径分析出:

●2.1前端性能测试

反观淘宝的静态资源都是存放在CDN上,而且有独立域名,这样用户不会和服务器响应共用一个网络,就不存在网卡的瓶颈。

淘宝网的性能测试主要针对5%-10%的html服务器资源进行压测的,基于以下两个因素:

图3常见的前端测试工具

而PAP也有基于WebPagetest的前端性能测试工具,具体的使用方法这里就不再介绍。经过测试后,可以优化的点包括:

优化效果对比如图4所示。

图4优化效果对比

Loadrunner里面,去除静态资源的选项如表2所示。

表2Loadrunner里去除静态资源的选项

●2.2服务器端性能测试

了解了前端性能测试的原因和方法,我们来看服务器端性能测试方法。

首先,需要了解一下性能测试的指标,如表3所示。

表3性能测试指标

图5load

图6性能测试的指标GC

●2.3PV与TPS的分析

对于一个性能测试,最关键的TPS是怎么换算的。例如用户的预估或者实际的网站访问(PV/天)符合一个正态分布,如图7所示,从0点到24点,那么用户高峰访问的每秒PV,就是我们所要计算的TPS,也就是我们压测的性能目标。如图8所示。

图7PV曲线

图8PV访问图拆分成不同的矩形换算TPS

所以,平均一天的PV就是PV×80%/(7/16)=X,这个X是平均值,由此计算出它和高峰的系数,PV(F)/X=Y,Y就是系数。那么,用户只要知道他的一天PV是多少,根据这个公式就可以计算出高峰PV,也就是所说的TPS,然后把它作为性能测试的目标来压测。

●2.4测试方法诠释

图9系统处理能力的变化趋势

图9显示了性能测试过程中,随着压力的增加,系统处理能力的变化趋势:

a点:性能期望值

b点:高于期望,系统安全

c点:高于期望,拐点

d点:超过负载,系统崩溃

表44种类型的稳定性测试

表5通过标准

基于云产品的门户网站性能优化案例

●3.1背景

该门户网站的服务器存放在华通和阿里云的平台上,所以对华通和阿里共建的云平台安全及应急措施要求也非常高,需要团队给予全力的保障和配合。

先介绍一下PTS,性能测试服务(PerformanceTestService,简称PTS)是集测试机管理、测试脚本管理、测试场景管理、测试任务管理、测试结果管理为一体的性能云测试平台,可以帮助您全方位的评估云上系统性能。如表6所示。

表6PTS的产品优势

本次优化主要是使用了该测试平台服务对客户搭建在ECS上的服务器进行多种类型(性能测试、负载测试、压力测试、稳定性测试、混合场景测试、异常测试等)的性能压测、调试和分析,最终达到满足期望预估的性能目标值,且上线后在高峰期也满足了实际的性能和稳定要求。

●3.2评估

本次性能测试过程的参与者包括了阿里云应急保障小组等多部门人员,网站为外部供应商开发,阿里云提供云主机和技术支持。

●3.3分析

结合Loadrunner的使用经验,团队的第一感觉就是用户测试方法可能有误,一个页面加载对于阿里的应用来说,都是1秒以下的,也就是毫秒级别的,不会出现几秒的现象。而用户测试结果都以秒来衡量,所以测试页面肯定是带了静态资源一起压测的。

这种场景适合如JS、css、image等静态资源和后端代码放置在同一台服务器上的情况。

图11组成网站响应的4部分

●3.4测试和优化

先不讨论原来的测试方法是否准确,我们首先以测试和优化为目的,对该门户网站进行测试和分析,内容包括以下方面。

3.4.1页面前端分析和优化

对页面的优化从前端开始。首先通过PTS的前端测试工具(未开放),再结合Yslow(yahoo前端测试工具)、Pagespeed等扫描,发现以下问题并进行优化。

第一阶段性成果:在进行了第一轮的前端优化后,性能提高25%,首页响应从1.5秒提高到1.1秒,并且前端优化持续进行。如表8。

表8前端优化的结果

前端页面最终结果:

3.4.2服务器端优化

PTS脚本编写和场景构造

并行:各个页面使用不同的任务,采用并行的混合场景执行,同时设置一定的比例(并发用户数),保证服务器承受的压力与实际用户访问相似。

场景并发用户数:经常会遇到“设置多大并发用户数合适?”的问题,我们有一个公式。

注意:使用外网地址压测可能会造成瞬时流量较大,产生流量计费,建议使用内网地址压测,避免损失。

第一阶段

在按照客户提供的4个URL请求构造场景压测以后,根据实际情况和客户要求,使用PTS,构造相应的场景和脚本,模拟用户实际访问情况,并且脚本中加上了img、js、css等各一个的最大静态资源。

条件:5台ECS机器,300并发用户数,一个后台页面加3个静态页面(共150K);

结果:静态4000TPS,动态1500TPS,服务器资源:CPU98%。如表9所示。

表9使用PTS脚本编写和场景构造的条件和结果

分析和优化

服务器资源消耗较高,超过75%,存在瓶颈,分析平台显示如图12所示。

图12分析平台显示结果

分析:主要原因是apache到tomcat的连接等待导致,现象是100个并发压测,就有100个tomcat的java线程,而且全部是runnable的状态,轮询耗时较多。

解决方法:修改了Apache和tomcat的连接协议,以nio协议取代ssl协议。Tomcat连接数据库池由30初始调整为300,减少开销

性能对比:

思考和风险

Iframe嵌套页面的方式优点是静态资源调用方便、页面和程序可以分离。但是它的缺点也显而易见,包括样式、脚本额外注入,增加请求等等;还有搜索引擎搜索不到内容;iframe创建比其他元素慢1~2个数量级;资源重复加载;iframe会阻塞页面加载,阻塞onload事件;占用主页连接池;html5不再支持。所以建议尽量不要使用或者少使用。

当用户的图片、javascript、CSS等静态资源和后端代码在同一台服务器上时,需要模拟用户的实际访问请求,压测脚本涵盖所有链接和资源。那么使用脚本录制功能就可以采集更全更完整的脚本。

第二阶段

找到几个页面的所有动态资源后,整合成为一个事务,串行访问,同时并发压测,从而对纯服务器端进行压测。由于动态页面依赖RDS数据库,所以性能相对较差,测试结果如表10所示。

表10测试结果

图14第二阶段的TPS

RDS优化内容包括:优化点主要是调整慢sql的索引,部分sql需要调整表结构和sql写法,需要应用配合才能完成优化。优化前QPS在1000左右,优化后QPS到达6000,如图15所示。

图15优化后的QPS到达6000

优化后的性能数据如表11所示。

表11优化后的性能数据

总的TPS可以达到2000,有个失败的页面存在问题,忽略。

第三阶段

测试结果如表12所示。

可以看到,所有的事务RT加起来小于5秒的情况下,并发用户数可以达到3000,满足测试要求。如图18和图19所示。

图18第三阶段的TPS

优化前后的对比如表13所示。

表13优化前后的三项对比

第四阶段

测试结果如表14所示。

表14其他非主流站应用的性能及静态页面5个页面的测试成果

备注:

风险和问题:

①测试发现流量存在非常明显的波动,不经过某模块就无此问题,发现有大量的reset连接,会诊后得出端口复用导致的问题以及FULLNAT模式和LVS存在兼容性问题。

由于存在兼容性问题,影响到网站的稳定性和性能,暂时不加载该模块,待问题解决后再加。先使用另外一个模块代替。

不通过模块的测试结果,如图20所示。

图20不通过模块的测试结果

通过模块后测试结果,如图21所示。

图21通过模块后的测试结果

②凌晨2点,针对单点用户登入进行了压测,发现100并发,该业务接口已宕机。分析结果。

③Web服务器数据同步,发现服务器IO和CPU压力过大。

④由于目前单点用户登入入口存在架构单点宕机风险,进行登入和未登入风险验证,确认,如用户已登入后,登入业务系统出现宕机,进行简单的页面点击切换,不受影响。

⑤内存优化

图22内存优化

3.4.3架构优化

最终优化后的网站页面性能满足测试要求,优化前后的对比如表15、表16所示。

门户首页:

表15架构优化前后的对比

备注:服务器的CPU达到100%其实是一个好现象,说明我们的逻辑全部走到了资源消耗上,而不是由外部其他逻辑限制或blocked,这种现象带来的好处就是,可以集中精力从减少代码的资源消耗上解决问题,带来性能的改善;

其次,实在无法优化也可以增加机器台数,通过横向扩展让性能成倍的提高,这也是用成本换性能的方法。当然,前提是架构上支持负载均衡的分布式架构。

THE END
1.淘工作官网阿里巴巴集团旗下招聘平台求职找工作淘工作是阿里巴巴集团旗下专业的招聘平台,招聘信息真实有效;为企业和求职者提供人才招聘、求职、行业资讯、人才认证、全职、兼职、电商数据等人力资源服务。找工作就上淘工作!https://zhaopin.taobao.com/
2.淘宝专员招聘淘宝专员招聘招聘猎聘淘宝专员招聘招聘频道为您提供大量的淘宝专员招聘招聘信息,有超过10000多淘宝专员招聘招聘信息任你选寻,招聘淘宝专员招聘人才就来猎聘淘宝专员招聘招聘!求职找工作就用猎聘聊。https://m.liepin.com/s/882ef24c311643bb48ea743c7fc591df/
3.淘宝开店教程大全淘宝网千牛工作平台的使用设置方法新手卖家50 循环播放 画面色彩调整 登录加入不吐不快的弹幕大军 发送 分享: 播单 手机看 下载 顶 博远教育机构关注 推荐出品人 加入自媒体 桂圆子手作坊 张朝阳 陆生文化 无心芭比 王蒙多 强盗Leo 养了半年的仓鼠“越狱"了!桂桂DIY陷阱迷宫捕捉,它能成功闯关吗 https://m.tv.sohu.com/pl/v88710383.shtml
4.电商运营工作总结(通用11篇)(1)经过几个月的时间,成功开通了淘宝商城和商城平台,现已开始成功运营,并逐步进入正轨,两店的开通运营,为后期的宣传推广及招商加盟,特别是市场动态掌握及消费者的信息反馈,提供了重要的平台和渠道;经营过程中积累的经验和教训也将为以后的工作提供很多值得借鉴和发扬的方式方法。 https://www.yjbys.com/zongjie/gerenzongjie/2037153.html
5.淘宝运营计划书(精选5篇)时光在流逝,从不停歇,我们的工作又将迎来新的进步,我们要好好计划今后的学习,制定一份计划了。计划到底怎么拟定才合适呢?以下是小编收集整理的淘宝运营计划书,希望能够帮助到大家。 淘宝运营计划书 1 淘宝网作为全球最大的网络零售平台,拥有海量的精准目标消费者群体和巨大的购买流量,是传统企业开展网络零售类电子商务https://www.unjs.com/fanwenku/347427.html
6.淘宝网双十二活动商品虚假,欺诈消费者,商家无证经营双十二在淘宝购买电蒸锅,订单号2322113870372508433 ,淘宝活动虚假宣传销售,联系淘宝平台不处理问题,多次联系并持续2个多月无法处理,向12315平台反应淘宝网问题,杭州余杭区市场监督管理局网监分局网络交易纠纷人民调解员工号2517,只问要不要调解,我问那如何调解不于回答,敷衍了事不履职,结案回复说反应人拒绝调解,打057112315https://tousu.china.com.cn/complain/10009115.html
7.淘宝兼职平台兼职网兼职猫是真实可靠的淘宝兼职平台,为学生蓝领一族提供不用押金的兼职、网上兼职、手机兼职,在家兼职工作,帮助求职者快速找到适合的岗位,找兼职上兼职猫。https://www.jianzhimao.com/sou/tbjzpt/
8.淘宝客服使用的工作平台是什么?千牛功能介绍淘宝客服使用的工作平台是什么?千牛功能介绍 现在一般都使用千牛版本了,它其中就有客服工作台和旺旺聊天界面,可以有很直观的产品管理界面,还是比较方便的了。 在淘宝开店其实和线下的销售模式也差不多的,都是客户到店里挑选商品,然后下单购买。不过在这个购买的过程中客户有什么疑问卖家都需要给予解答,在淘宝上客户有https://m.maijia.com/article/511515
9.淘工作平台1.2010年8月30日上午,淘宝筹划已久的招聘平台“淘工作”正式上线。 2.淘宝淘工作官方网站地址: http://zhaopin.taobao.com/ 淘工作招聘方: 1.企业登录淘宝网招聘求职平台后,登记填写企业基本信息,并通过淘宝工作人员的审核后,方可发布岗位。 审核时间一般在提交后的1-2天内完成。 http://h.lvshiminglu.com/law/tag/%E6%B7%98%E5%B7%A5%E4%BD%9C%E5%B9%B3%E5%8F%B0
10.淘宝网上购物平台入口(官方网页版入口网址)淘宝现在已经成为了人们网上购物最常用的平台,涵盖了生活、工作、家具用品等各个板块。对于想要通过电脑端使用淘宝平台购物的用户,就需要通过淘宝官网访问登录使用,那淘宝官网入口在哪里呢?让小编来告诉大家。 淘宝介绍 淘宝是中国最大的电商平台之一,作为阿里巴巴旗下的核心电商平台,在中国有强大的品牌影响力和用户基础,https://www.bunian.cn/5478.html
11.淘宝联盟·商家中心营销训练营 万堂书院 淘宝联盟课堂 营销服务 营销拍档 规则中心 客服中心 品牌形象站 官方微信公众号 微信扫码关注 阿里妈妈官方App 钉钉/支付宝/淘宝 扫码下载 关于阿里妈妈 联系客服 开放平台 廉正举报 意见反馈 举报中心 法律声明及隐私权政策 阿里巴巴集团 淘宝网 天猫 聚划算 全球速卖通 阿里巴巴国际交易市场 https://ad.alimama.com/index.htm
12.淘宝网退款少4.33元,商家及平台未合理解决315消费保用户廖某某投诉淘宝网乱收费,退款纠纷,称我于2024年11月6日在淘宝电商平台Exclusive type店铺购买衣服 商家漏发一件衣服,11月9日沟通后给我退款,衣服实付105.12,却只退回100.79,少了4.33元,我找Exclusive type店铺客服理论,称是淘宝电商平台扣的4.33。马上打https://www.xfb315.com/tousu/97873312
13.宁波市海曙区人民法院关于宁波市鄞州区潘火街道名台景苑(现名为浙江省宁波市海曙区人民法院将于2020年7月13日10时至2020年7月14日10时止(延时的除外)在浙江省宁波市中级人民法院淘宝网司法拍卖网络平台上(网址:http://sf.taobao.com,户名:浙江省宁波市中级人民法院)进行公开拍卖活动,现公告如下: 一、拍卖标的:宁波市鄞州区潘火街道名台景苑(现名为龙湖名景台)1幢1号1802https://www.rmfysszc.gov.cn/statichtml/rm_xmdetail/2499397-1.shtml
14.电商节活动策划方案(通用10篇)淘宝网店双十一营销策划书。 二、活动背景 随着互联网的发展,网上购物已经成为一件很普遍的事情。淘宝便是如今在线电子商务平台的一位领跑者,在消费群体的消费能力与淘宝销售额的飞速增长的当下,很多人从电商的市场潜力中看到了商机,也被这块公平的创业乐土所吸引,纷纷加入到电商这个行列中来。由此带来的影响是,即便淘https://www.yuwenmi.com/fanwen/huodongfangan/3317952.html
15.网店营销方案(精选6篇)在国内C2C网络购物网站中,以淘宝网发展最为迅猛。我国网民的大部分网购商品网络购物交易集中于平台式购物网站的首选购物网站是淘宝网。淘宝网的运营模式可以代表国内C2C网购市场的一个重要发展方向,具有较高的社会需求。 三、优劣势的分析 优势: 开店成本以及运营费用低。https://www.ruiwen.com/fangan/7607731.html
16.淘工作官网阿里巴巴集团旗下的专业招聘平台标签:求职招聘人才网找工作招聘网求职淘工作淘工作官网 链接直达手机查看 淘工作是阿里巴巴集团旗下的专业招聘平台,网址为 zhaopin.taobao.com 。该平台主要面向淘宝用户和卖家,提供各类电商岗位的招聘信息,包括客服、店铺运营、美工设计等职位。企业可以通过登录“企业中心”发布招聘信息,并通过审核后展示在平台上。 https://www.bgrdh.com/sites/35059.html
17.4y4模板装修平台官网欢迎访问-4y4模板装修平台官方网站 加盟代理 使用教程 功能介绍 注册账户 免费领激活码 后台登录 店铺模板 手机模板 海报模板 主图模板 详情模板 主图视频 在线购买 淘宝店铺装修软件 领取激活码 4y4激活码 4y4客户端下载http://www.4y4.cc/
18.万师傅标签: 虚假发货 虚假交易 淘宝虚假交易 店铺违规降权 淘宝虚假交易申诉技巧?在淘宝上虚假交易是否会被处罚 我们知道淘宝网平台上也有虚假交易。如果是这样的话,那么每个人都在抱怨,但是抱怨也需要一些技能。处理虚假交易投诉的技巧是什么?第一步是打开医疗中心,你会看到虚假的交易信息,选择证明,然后你可以提出投诉。如果https://www.wanshifu.com/zhishi/tag/tag6860
19.一周未来商业拼多多之后,淘宝京东跟进“仅退款”,董宇辉抖音新据淘宝官网消息,为了保障买卖双方的权益,维护市场秩序,帮助大家更好地解决商品交易过程中的纠纷,淘宝网拟变更淘宝平台争议处理规则的相关规则。核心变更点包括:1、新增淘宝基于平台自身大数据能力,识别多维度结合,对于买家发起符合相关情形的售后,做出快速退款或退货退款的规则依据;2、针对卖家存在延迟发货、强制发货的且未https://wap.eastmoney.com/a/202401022948946487.html
20.淘宝商家怎么设置30天内发货电商运营自媒体淘宝(淘宝网客户端)2024官方版 v10.38.22 安卓最新版 类型:生活服务 大小:58.52MB 语言:简体中文 时间:2024-07-23 查看详情 淘宝商家如何设置30天内发货 在淘宝平台上,商家可以轻松地设置30天内发货的选项。以下是设置的步骤: 登录淘宝商家后台: 商家首先需要登录他们的淘宝商家后台账号,这是管理店铺和订单的核心https://www.jb51.net/zimeiti/899418.html
21.加盟批发代理代销一件代发分销平台网店供货淘宝网货源创业好项目羡兰姿原创韩版品牌女装免费加盟批发代理代销一件代发分销平台网店供货淘宝网货源创业好项目http://www.xlz1688.com/