性能测试入门指南 (慎入: 6000 字长文)

本文介绍了性能测试的基础知识,包括性能的定义、影响因素、测试目的和关注指标。详细讲解了性能测试的类型,如负载测试、压力测试等,并提供了性能测试流程和常见工具的对比。通过对Nginx等性能工具的测试实例,展示了如何进行性能测试和调优。适合测试工程师和对性能测试感兴趣的读者学习。
摘要由CSDN通过智能技术生成

从14年11月到18年6月,一直专注于服务端性能测试,发现有些同学经常对一些基础概念和指标有异议,故写本文,希望对大家认识性能测试有一定帮助。也欢迎大家多多指正。

全文包括

  • 什么是性能
  • 性能对用户和产品收入影响
  • 性能测试目的、性能关注指标、性能测试类型、性能测试流程
  • 常用的性能测试工具对比

1、前言

随着5G时代的到来,以及万物互联时代的到来,云应用和云服务会越来越多,数据量会指数级增长。尤其是2020年全球疫情的时代意义,会导致各行各业开始上云。从而会催生出极具个性化的各类产品的诞生。

所有行业的生态会像鲸落效应一样,围绕若干个巨无霸公司衍生出满足人们各种需求的中小型产品。大部分产品的形态可能会变成重服务端、轻客户端。

所以,服务端性能测试的需求也有可能会出现井喷式增长。但是服务端性能测试需求对于中小型公司,尤其是大部分不关注用户体验的公司来说,性能测试需求特点是周期短、时间紧。

因此,对于大部分测试从业人员来说,了解并掌握常见的性能测试知识是必不可少的,虽然不会经常用到。

2、什么是性能

不同角色关注的性能是不一样的,性能测试这项系统工程,需要各角色在其关注的纬度提供信息或帮助。

用户眼中的性能

性能对于用户来说,就是操作的响应速度、产品的崩溃是否影响自己的生活。比如滴滴之前在情人节当天打车服务的性能事故。
在这里插入图片描述
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

老板眼中的性能

老板主要关心产品的收入、成本(用了多少钱服务了多少用户)、用户满意度(用户对产品是否满意)。
在这里插入图片描述
运维眼中的性能
在这里插入图片描述
开发眼中的性能
在这里插入图片描述
测试眼中的性能
在这里插入图片描述

3、性能的影响

3.1 性能对用户的影响

对于大部分商业公司的ToC产品,性能关乎产品命运和增长。如下图所示,虽然现在阿里京东垄断不太容易更换应用,但是遇到性能很差的时候,心里还是忍不住问候几句。
在这里插入图片描述
3.2 性能对收入的影响

大家都知道性能对产品收入有非常大的影响,但是很少公司有全面的运营分析来证明这件事。
以下是2016全球零售业数字化性能基准报告[fr: Dynatrace]中关于性能对收入影响的数据。
从图中可以看到,响应时间对转化率的影响非常大,比如沃尔玛够硬核了吧,沃尔玛的响应时间降低0.1秒,收入即可增加1%,是非常大的收入提升。
在这里插入图片描述
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

4、性能的组成

以中小型电商网站为例,如下图所示,性能基本组成:

  • 客户端(Web、移动端、小程序)性能
  • DNS性能
  • 负载均衡服务性能
  • Nginx集群性能、折损率
  • CDN缓存性能(回源率、穿透率)
  • 应用服务器性能
  • DB性能(Mysql/Redis/Memcache)

由此可见,中大型项目的性能测试,从来都是一项系统工程,需要非常多人跨部门合作,且持续时间长,耗费资源大。
在这里插入图片描述
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

5、性能测试基础知识和注意事项

熟悉性能测试之前,首先了解性能测试的目标是什么。带着目标去思考会更有利于理解下面的内容。

5.1 性能测试目的

性能测试的最终目的是为了最大限度的满足用户的需求,通常要达成以下目标:

(1)性能评估:测试中评估系统的QPS、响应时间、成功率等;

(2)寻找系统瓶颈,进行系统调优;

(3)检测软件中的问题;

(4)验证稳定性和可靠性;

5.2 性能应该关注的指标

一般来说,性能测试要统一考虑这么几个因素:Thoughput吞吐量,Latency响应时间,资源利用(CPU/MEM/IO/Bandwidth…),成功率,系统稳定性。

(1)响应时间:你得定义一个系统的响应时间latency,建议是TP95或以上。响应时间具体要求多少,一般读不超过200ms,写不超过500ms。要是实在不知道,对标同行业竞品。

(2)最高吞吐量:TPS(每秒事务请求数)或QPS(每秒请求量),在目标响应时间要求下,系统可支撑的最高吞吐量。

(3)成功率:在关注QPS和响应时间的同时,还要关注成功率。如果QPS和响应时间都满足性能要求时,请求成功率只有50%,用户也是不会接收的。

(4)性能拐点:一般服务都有性能临界点。当超过临界点时,吞吐量非线性下降,响应时间指数级增加,成功率降低。

找到出现性能拐点的主要原因:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值