浅谈应用性能测试 PTS

2017 年 7 月 8 日 云栖社区

摘要


压力测试该如何进行?市面上压测的工具那么多,该选择哪一个?全面、易用、低成本的压测工具是什么样的?

我们为什么要进行性能测试?


1. 评估系统的能力。


当应用上线有大量用户当问的时候,页面的打开速度直接影响用户体验,进而影响用户的留存。了解用户的真实使用体验,对应用做出针对性的性能评估,有效提升用户体验。


2. 验证系统的稳定性和可靠性。


在整个的网站应用架构体系中,会有一些接口基础服务,它的职责是对外输出一些稳定的查询,一些服务能力,这个时候系统需要有较高的稳定性,比如访问量很多,数据量很大,这个时候就需要关注性能。另外对于一些核心系统,可用性很高,对于性能系统也是非常关键的。


3. 改动了核心应用,担心对链路有影响。


当网站应用比较复杂的时候,比如核心应用被改造了,改造之后我们会担心这对整条核心链路有影响,这个时候也会考虑做性能评估。


性能测试关键指标


性能测试指标通常分为资源指标和系统指标。其中资源指标是指:CPU 使用率、内存使用率、磁盘I/O, 网络带宽等,系统指标是指:并发用户数、在线用户数、平均响应时间和事务成功率等。我们可以从业务方、研发和测试三个角度去看。


通常来说,业务方提出性能指标,比如某段时间内网站可能会带来100万UV, 1000万PV,然后研发将这些指标转化成实际性能指标,比如要实现多少的成交额、交易量等,再根据目标来设定合理的架构策略,最后测试保障这些性能指标。


大家可能会有疑问,业务方给出一个指标,怎么换算成研发可以实现的指标?比如在对接阿里巴巴广告类业务时,业务方说:“这个广告发布以后,会给网站带来100万的UV”,那这个怎么换算成研发需要实现的性能指标?这中间其实存在关联。例如阿里巴巴线上监控会统计通常UV和PV的比例,然后根据放大三倍或者五倍的比例,计算出100个UV对应的PV数,这是一种方式。


另外一种方式就是对业务进行合理的预估。比如像一些平台首页发布的秒杀页面,可能秒杀产品只有100多个,但是引流来的人有100万,这个时候假设这100万用户都会去查看这个页面,再做一些比例放大,然后得出一个相应的PV关系,也可以帮我们做一个推导。当PV数据有了以后,QPS、TPS、RT也是可以换算得出的。


常见的性能测试方法


1. 基准测试法


当我们拿到一个性能测试项目的时候,我们会对这个系统架构做个了解,了解最好的方式是做一个基准测试,先谈谈它的基本情况。所以会去定一个小并发,比如5-10个人的并发,先去测一测,看它的响应时间,然后将此作为我们的基准。


2. 压力测试


如果我们需要快速了解这个系统性能到底是什么情况?我们可以先做一个压力测试,压力测试是为了获取极限性能指标。比如可以设置一个3小时压测场景,每10分钟加10个用户,那到3小时后,可能就是180个用户了。这个时候观察,在压力不断增大过程中系统的表现。


3. 负载测试


这是是为了获取性能拐点,我们叫最佳性能。当达到这个点的时候,系统能力、极限能力是多少?这个通常用来做线上流量评估。


4. 稳定性测试


我们会把用户真实会发生的场景放大3-5倍,然后在线上运行24小时,在这个阶段会发现很多稳定性问题, list回收,java list回收,一旦回收出现问题,可能会出现内存溢出,这个在日常测试过程中,是很难测出来的,所以用稳定性测试查出这些问题。


5. 容量测试


当我们业务越来越复杂的时候,比如一场大促,应该怎么评估线上的性能?如何去做合理的扩容?这个就属于容量测试范畴。


性能测试工具选择


工欲善其事必先利其器,性能测试时模拟大量负载需要工具帮忙,市面上可供使用的负载工具繁多,如何选择呢?首先我们要明白负载工具是帮助我们来模拟负载的,对于性能测试来说,工具并不是核心,分析、评估、找出性能问题才是核心,这些是主观因素;工具是客户因素,自然要降低其对结果的影响,所以工具选择时我们有几个方面要考虑。


(1)专业、稳定、高效,工业级性能负载工具。

(2)简单易上手,在测试脚本上不用花太多时间。

(3)有技术支持,文档完善,不用在疑难问题上花费时间,集中精力在性能分析上。

(4)要考虑投入产出比。自研或者使用开源不一定比商业工具更省钱,因为要做技术上的投资,时间上的投资。


阿里云的性能测试 PTS


阿里云性能测试(PTS)是全球领先的SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。


为什么选择阿里云的性能测试 (PTS)


1.简单易用

 平台提供压测机,无需安装软件;脚本场景监控简单化;1分钟上手,轻轻松松做性能测试


2.安全可靠 

服务高质量容灾,可用性高达99.99%;测试结果真实准确;多种安全防护措施,保障数据安全


3.场景丰富
分布式并发压测,施压能力无上限;模拟业务场景,性能缺陷暴露无疑;阿里性能专家在线服务,测试无忧


性能测试(PTS)的功能


1.脚本测试
脚本支持模板和手工编写,模板编写快速创建脚本,手工编写满足具体的业务需求。


2.测试场景
常规模式、梯度模式、目标模式的场景满足各行各业系统业务需求。


3.测试报告
强大的性能日志分析,让性能问题无所遁形。


性能测试(PTS)的应用场景


1.非阿里云机器互联网系统性能测试

只要被测系统开通了互联网访问,访问协议为http、https、TCP、UDP就可以使用阿里云性能测试。常见被测系统有:企业官网、简单web应用、图片视频网站应用、手机APP、证券系统、P2P系统、网银系统、考试系统等。


2.阿里云机器系统性能测试

部署在阿里云机器上的系统,不管是否开通了互联网访问,都可以使用阿里云性能测试。使用私网压测,不仅减少被测系统带宽测试费用,并且不用担心带宽限制的问题,更能压测出系统的性能瓶颈。


快速上手-->http://click.aliyun.com/m/25518/



-END-

云栖社区

ID:yunqiinsight

云计算丨互联网架构丨大数据丨机器学习丨运维



点击“阅读原文”


登录查看更多
0

相关内容

用户体验(User Experience, UX, UE)是用户在使用产品、系统、服务的过程中建立起来的主观心理感受,因为它是纯主观的,就带有一定的不确定因素;而个体差异也決定了每个用户的真实体验是无法通过其他途径来完全模拟或再现的。 用户体验基于个人感受,但在确定的用户群以及使用情景下,反映为群体的共性。这是用户体验研究与设计的基础。
最新《多任务学习》综述,39页pdf
专知会员服务
260+阅读 · 2020年7月10日
【CVPR2020-北京大学】自适应间隔损失的提升小样本学习
专知会员服务
81+阅读 · 2020年6月9日
最新《深度学习行人重识别》综述论文,24页pdf
专知会员服务
80+阅读 · 2020年5月5日
【综述】金融领域中的深度学习,附52页论文下载
专知会员服务
162+阅读 · 2020年2月27日
Keras作者François Chollet推荐的开源图像搜索引擎项目Sis
专知会员服务
29+阅读 · 2019年10月17日
腾讯推荐引擎组员工:谈谈推荐系统架构
腾讯大讲堂
14+阅读 · 2019年10月23日
三分支网络——目前目标检测性能最佳网络框架
人工智能前沿讲习班
6+阅读 · 2019年3月5日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
【数字孪生】一文读懂数字孪生的应用及意义
产业智能官
43+阅读 · 2018年9月28日
这是机器学习算法工程师最好的时代!
机器学习算法与Python学习
4+阅读 · 2018年3月12日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
安全牛发布《威胁情报市场指南》报告
安全牛
11+阅读 · 2017年7月10日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Arxiv
4+阅读 · 2018年5月4日
Arxiv
8+阅读 · 2018年1月25日
VIP会员
相关VIP内容
相关资讯
腾讯推荐引擎组员工:谈谈推荐系统架构
腾讯大讲堂
14+阅读 · 2019年10月23日
三分支网络——目前目标检测性能最佳网络框架
人工智能前沿讲习班
6+阅读 · 2019年3月5日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
【数字孪生】一文读懂数字孪生的应用及意义
产业智能官
43+阅读 · 2018年9月28日
这是机器学习算法工程师最好的时代!
机器学习算法与Python学习
4+阅读 · 2018年3月12日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
一篇文章读懂阿里企业级数据库最佳实践
阿里巴巴数据库技术
5+阅读 · 2017年12月20日
安全牛发布《威胁情报市场指南》报告
安全牛
11+阅读 · 2017年7月10日
Top
微信扫码咨询专知VIP会员