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

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-12-27 11:12:38

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

浅谈Python中copy()方法的使用

  这篇文章主要介绍了浅谈Python中copy()方法的使用,Python中的拷贝分为潜拷贝和深拷贝,本文只是简单介绍用法,需要的朋友可以参考下 copy()方法返回字典的浅拷贝. 语法 以下是copy()方法的语法: ? 1 dict.copy() 参数 NA 返回值 此方法返回字典的浅拷贝. 例子 下面的例子显示了copy()方法的使用. ? 1 2 3 4 5 6 #!/usr/bin/python   dict1 = {'Name': 'Zara', 'Age': 7};   dict

浅谈document.write()输出样式

  这篇文章主要介绍了浅谈document.write()输出样式,十分的简单实用,有需要的小伙伴可以参考下. js中的最基本的命令之一:document.write(),用于简单的打印内容到页面上,可以逐字打印你需要的内容--document.write("content"),这里content就是需要输出的内容;当然还有一种情况,需要输出JS之中比如变量等等变化的东西,那么就需要用document.write(+variable);当然variable就是你想要输出的变量. 既然可

图标字体化浅谈[转]

在做手机端Web App项目中,经常会遇到小图标在手机上显示比较模糊的问题,经过实践发现了一种比较好的解决方案,图标字体化.在微社区项目中,有很多小的Icon(图 标),如分享.回复.赞.返回.话题.访问.箭头等,这些Icon(图标)一般都是纯色的.开始制作时考虑用双倍大小的Sprite图,通过CSS样式设 置只显示二分之一尺寸,这样在Retina屏上显示的大小是正常的,一旦放大屏幕后图标又变得模糊不清,测试的效果不是很理想,后来又考虑多套图标适配方 案.SVG矢量图等,都因为种种原因放弃掉了(

浅谈PHP5中垃圾回收算法(Garbage Collection)的演化

前言:PHP是一门托管型语言,在PHP编程中程序员不需要手工处理内存资源的分配与释放(使用C编写PHP或Zend扩展除外),这就意味着PHP本身实现了垃圾回收机制(Garbage Collection).现在如果去PHP官方网站(php.net)可以看到,目前PHP5的两个分支版本PHP5.2和PHP5.3是分别更新的,这是因为许多项目仍然使用5.2版本的PHP,而5.3版本对5.2并不是完全兼容.PHP5.3在PHP5.2的基础上做了诸多改进,其中垃圾回收算法就属于一个比较大的改变.本文将分别

浅谈算法和数据结构 十一 哈希表

在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度: 可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度. 那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(Hash Table) 什么是哈希表 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 哈希的思路很简单

浅谈关于JavaScript API设计的一些建议和准则

  这篇文章主要介绍了浅谈关于JavaScript API设计的一些建议和准则,文中列举了许多知名的JS API进行辅助说明,极力推荐!需要的朋友可以参考下 设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架. (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线.软件设计,特别是作为软件设计的次类的API设计,也是一样的.但是API设计常常很少关注软件发展,因为为其他程序员写代码的重要性要次于应用UI设计和最终用户体验. 但是API设计,作为

浅谈在openSUSE下ASP.NET 4开发环境配置(1)

浅谈在openSUSE下ASP.NET 4开发环境配置(1)

浅谈ASP.NET MVC 3中如何使用Model

昨天博客发了新文章,讲一下我对如何使用MVC中的Model的看法,不是什么大技术,当是一个技术讨论^^ 原文地址:http://www.youguanbumen.net/Article.aspx?id=79 原文: 前两天写了个文章ASP.NET MVC 3 -- Model远程验证,主要记录了一下ASP.NET MVC 3中新增的RemoteAttribute类的使用,得益于这个类,我们可以在模型中为属性配置客户端远程校验的业务,文章中给了出一个简单的实体类MyUser_Add,举了一个最常见

“IT列国”之“毛遂自荐”--浅谈一个优秀项目经理的基本素质

素质|项目|项目 "IT列国"之"毛遂自荐"--浅谈一个优秀项目经理的基本素质 0.前言 说起毛遂,大家可能并不清楚,可是成语"毛遂自荐",几乎没有人不知道.毛遂在关键时候自己站出来,不但自我推荐,而且解决了大问题,成就千古佳话. 在IT行业,也有很多像毛遂一样的人,他们也为了公司.为了整个IT行业,不断重演毛遂自荐的一幕. 1. 形势危急 话说三秦科技集团最近在市场上攻城略地,与冀赵高科公司几次正面竞争连连获胜.虽然换掉了精明能干的经理白起,却