浅谈应用性能测试 PTS

原文链接

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

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回收,Javalist回收,一旦回收出现问题,可能会出现内存溢出,这个在日常测试过程中,是很难测出来的,所以用稳定性测试查出这些问题。

5. 容量测试

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

性能测试工具选择

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

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

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

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

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

阿里云的性能测试 PTS

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

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

  • 简单易用 平台提供压测机,无需安装软件;脚本场景监控简单化;1分钟上手,轻轻松松做性能测试
  • 安全可靠 服务高质量容灾,可用性高达99.99%;测试结果真实准确;多种安全防护措施,保障数据安全
  • 场景丰富
    分布式并发压测,施压能力无上限;模拟业务场景,性能缺陷暴露无疑;阿里性能专家在线服务,测试无忧

性能测试(PTS)的功能

  1. 脚本测试
    脚本支持模板和手工编写,模板编写快速创建脚本,手工编写满足具体的业务需求。
  2. 测试场景
    常规模式、梯度模式、目标模式的场景满足各行各业系统业务需求。
  3. 测试报告
    强大的性能日志分析,让性能问题无所遁形。

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

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

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

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

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

快速上手

免费使用Lite版,三分钟入门
阅读原文 了解优惠

其他解决方案推荐

1. 如何快速构建全渠道零售平台
2. 针对移动互联网&物联网场景的消息服务解决方案
3. 如何高效处理 IOT 中的数据与消息
4. Dubbo的商业化解决方案
5. 面向万物互联的高性能时序数据库 HiTSDB
6. 打造立体化监控体系的最佳实践
7. 全面了解企业级互联网架构和阿里云中间件产品

原文链接

时间: 2024-08-30 07:25:45

浅谈应用性能测试 PTS的相关文章

浅谈软件性能测试中关键指标的监控与分析

浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题. Ø  判定软件系统的性能表现,预见系统负载压力承受力,在应用部署之前,评估系统性能. 而对于用户来说,则最关注的是当前系统: Ø  是否满足上线性能要求? Ø  系统极限承载如何? Ø  系统稳定性如何? 因此,针对以上性能测试的目的以及用户的关注点,要达到以上

浅谈服务器性能测试的全生命周期——从测试、结果分析到优化策略

本文由腾讯WeTest授权发布 作者:Micheal,腾讯资深后台开发工程师. 链接:http://wetest.qq.com/lab/view/?id=102 著作权归作者所有.商业转载请联系WeTest获得授权,非商业转载请注明出处. WeTest导读 服务器性能测试是一项非常重要而且必要的工作,本文是作者Micheal在对服务器进行性能测试的过程中不断摸索出来的一些实用策略,通过定位问题,分析原因以及解决问题,实现对服务器进行更有针对性的优化,提升服务器的性能. 1.服务器性能测试小结 讲

性能测试指标浅谈

出入性能测试,大部分人都是从录制脚本调通开始.谁知这是漫漫长征第一步而已,场景设定完成以后,需要加监控指标时,这一堆指标都是干什么使的?下面来浅谈下这些指标吧. 吞吐量 如果是从统计上讲就是在一次性能测试过程中,网络上传输的数据总量.举个例子就像手机一直用流量上网,那本月流量统计就是本月的吞吐量. 一次测试过程中传输了多少数据对于一般的性能测试来说,往往意义不太大.除非有流量限制的需求,对过程的流量总数限定在一定的范围内时候,会关注这个指标. 人们口头上甚至有很多软件实现中所说的吞吐量其实是吞吐

浅谈自动化测试流程

浅谈AST(自动化测试)流程,欢迎大家多多指点,多提宝贵意见. AST阶段一:需求收集——分析自动化测试需求 1.举行启动会议,对SUT(被测试的系统)进行总体描述 2.SUT的要求是可测试和可自动化的 3.评估哪些测试可以自动化 4.分析当前生命周期中SUT使用的工具和复用现有的AST工具 5.对AST和测试中需要的工具进行评估,并提出建议 6.确定和讨论测试环境,包括测试环境的采购和安排,列出测试环境的概要 7.与开发相关人员一起走查一遍AST测试需求,最后达成一致意见 8.给出可以自动化的

并发浅谈-锁和Token的应用

并发 即在同一时刻内有多个完成同一任务的进程或线程在同时运行.并发一般发生在大流量集中访问如抢购或秒杀等业务场景中,它所带来的影响主要表现在以下两个方面:1:造成系统的负载压力过大.比如说mysql天生在处理大并发时表现的异常吃力,并发大时经常可以造成数据库挂掉.2:造成业务资源的竞争出现.比如说兑换一个激活码,并发下可能会出现两个人同时兑换到的同一个激活码. 从开发的经验来看,一般开发者在写程序逻辑时,绝大多数的情况下是没有考虑并发问题的:这其中有两个方面,一是与业务有关,二是与经验有关:其中

iOS应用架构浅谈

缘由 从事iOS工作一年多了,主要从事QQ钱包SDK开发和财付通app维护,随着对业务的慢慢熟悉,最近在思考这两款应用架构设计的思想,刚好昨天在微信里看了一篇iOS大牛对终端应用架构的分享,乘热打铁,下面浅谈下我对ios应用架构设计的理解,写的不好或不对的地方,欢迎大家拍砖,我们一起来探讨. 假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? 不要急着给出你的答案,可以先在你的脑子里思考3分钟,再看下面我要讲的内容. 其实对于iOS客户端应用的架构来说,复杂度不亚于服

浅谈APP测试经验

近年来,随着智能手机兴起,很多App软件不断涌起.那今天我浅谈一下本人在工作如何测试App软件与经验. 一.App三种开发模式介绍(测试App时,必须要先了解您测试的App是用什么模式开发的) 1.Native APP 2.Web APP 3.Hybrid AP 对App开发模式不清楚的人.请自行百度. 二.通用App测试点(这些点必须测试) 1. 使用App时,手机耗电情况: 2 .App占用手机内存情况: 3 .App安装包的大小: 4. 使用App时,流量消耗情况: 5 .App在WiFi

软件质量的浅谈

软件质量的浅谈 议题:什么是质量? 目的:希望通过探索质量,探求质量提升之道. 目标读者:项目经理.测试员.程序员 图片不显示,想要的联系我[email protected] 今天就“质量”一词,再来谈谈这个老生常谈的话题.当然,都是个人的一些观点和总结,不同意可以拍砖或者来探讨. “质量”这个词用得太普遍以至于混乱,有时候它表示质量这个指标,有时候它隐含质量好的意思.而且不可避免的,好的质量常常和它的反面联系在一起,就好像<中国质量万里行>,或者<央视3.15晚会>,列出的都是质

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化