如何快速掌握性能知识体系,做好性能测试?

简介: 想要更好的识别性能问题吗?想要掌握正确的性能测试策略和技巧吗?12月29日19:00收看《阿里巴巴分层自动化之性能测试》直播分享,系统学习性能测试。

做开发测试的同学都知道,网站性能是影响用户访问的一个重要因素。如果你的网站打开速度很慢,那么你的访客很容易流失,这样会造成业务受损。所以做好性能测试,是开发测试人员必须考虑的问题。阿里巴巴旗下一站式研发提效平台——云效,将于12月29日19:00开启《阿里巴巴分层自动化之性能测试》直播分享,为大家讲解性能测试知识,同时提供性能测试方法和策略。今天我们先来看看阿里巴巴嘉宾的部分解读。


嘉宾介绍


许晓:阿里巴巴B2B事业群技术专家。7年从事性能测试调优及诊断,专注于性能领域的平台建设以及测试平台对于研发效能的提升,对于性能测试以及调优有着深厚的经验积累。曾负责国际网站IPO容量规划,现在主要负责云效整体业务。


性能测试背景


性能测试在早期软件开发行业中并不是最受关注的,比如我们玩的RPG小游戏,那时候并不会抱怨说这个软件性能有多么的不好,而是可能会抱怨说我的机器是有多差。随着互联网的发展普及,包括web2.0的兴起,互联网的服务应用越来越受重视。当网站流量越来越大,我们开始关心服务端的性能是不是能抗住压力,这是性能开始普及的一个阶段。


什么时候会用到性能测试?


当性能测试开始普及的时候,那么我们会在什么阶段进行性能测试?


1.应用使用人数多,网站打开速度慢。


当应用上线有大量用户访问的时候,我们会担心系统能不能抗住压力,如果扛不住,那么业务会不会受影响?以3秒、5秒、10秒法则来说,网站打开3秒以内,用户还能接受,当达到5秒,用户可能就有点不耐烦了,当你的网站用了10秒还打不开,那么用户肯定会离开,并且下次可能不再来。


2.需要提供很高稳定性的基础服务。


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


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


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


性能测试指标及其联系


65b818e5f5952ec0bac8fb1df64e13904958b505


a7f47f88d097b26f754b60e858fa187d86df29bb


f76bda4c62e75d9a8c424e0218d4b23259d9267a


d0c40d13a5a0e205cc6ed23649a815e61866332a


性能测试指标通常分为线上指标、基本指标、系统指标和JVM指标。可以从业务方、研发和测试三个角度去看。


通常来说,业务方提出性能指标,比如某段时间内网站可能会带来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.容量测试

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


在具体性能测试中,如何针对不同的应用,采用不同的测试方法?比如针对响应时间优先的应用,或者吞吐量优先的应用,应该如何进行测试分析?什么时候采用单场景测试法?什么时候用组合场景测试法?什么时候使用链路测试法?这些都可以进行策略分析,以期达到最优的测试效果。


想要更好的识别性能问题吗?想要掌握正确的性能测试策略和技巧吗?12月29日19:00收看《阿里巴巴分层自动化之性能测试》直播分享,系统学习性能测试。直播名额有限,先抢先得,赶紧预约报名吧!


报名方式

(识别图中二维码,抢先报名)

029d3cab35ceca3084c6f4ab075c7fb83991f452




相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
23天前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
101 2
|
20天前
|
监控 测试技术 PHP
性能和压力测试
【10月更文挑战第10天】性能和压力测试
109 60
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
17天前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
15 0
|
2月前
|
敏捷开发 安全 测试技术
软件测试的艺术:确保质量与性能的平衡之道
【9月更文挑战第24天】在软件开发的海洋中,测试是导航灯塔,指引着项目安全抵达质量的彼岸。本文将深入探讨软件测试的核心原则、方法论以及如何通过精心设计的测试策略来保障产品的可靠性和性能。我们将从测试的基础知识出发,逐步深入到高级测试技巧,最终展示如何通过实际案例来应用这些知识以确保软件的成功交付。
|
2月前
|
测试技术 Python
软件测试的艺术:确保质量与性能
【9月更文挑战第19天】在数字化时代,软件已成为我们生活的一部分。然而,随着软件复杂性的增加,如何确保其质量和性能成为了一个挑战。本文将探讨软件测试的重要性,介绍常见的测试类型和策略,并提供实用的代码示例来帮助读者更好地理解和应用这些测试方法。无论你是开发人员、测试工程师还是项目管理者,这篇文章都将为你提供有价值的见解和技巧。
|
2月前
|
存储 Java 关系型数据库
“代码界的魔法师:揭秘Micronaut框架下如何用测试驱动开发将简单图书管理系统变成性能怪兽!
【9月更文挑战第6天】Micronaut框架凭借其轻量级和高性能特性,在Java应用开发中备受青睐。本文通过一个图书管理系统的案例,介绍了在Micronaut下从单元测试到集成测试的全流程。首先,我们使用`@MicronautTest`注解编写了一个简单的`BookService`单元测试,验证添加图书功能;接着,通过集成测试验证了`BookService`与数据库的交互。整个过程展示了Micronaut强大的依赖注入和测试支持,使测试编写变得更加高效和简单。
69 4
|
3月前
|
消息中间件 Kafka 测试技术
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
|
3月前
|
监控 网络协议 安全
在Linux中,如何进行系统性能的峰值测试?
在Linux中,如何进行系统性能的峰值测试?