性能测试

一、性能测试本质

基于协议模拟用户发出请求(业务的模拟),对服务器形成一定的负载,来测试服务器的性能指标是否满足要求

性能测试关注点:时间性能和空间性能

性能测试与界面无关

二、性能测试分类

1)性能测试(狭义):这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的

特点:

1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。
2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。
3、这种方法要求在已经确定的环境下运行

2)负载测试:这种方法是对一个系统持续不段的加压,看你在什么时候已对超出我的要求或系统崩溃

特点:

1、这种性能测试方法的主要目的是找到系统处理能力的极限。
2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。

3)压力测试(强度测试):这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题

特点:

1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
3、这种性能测试方法一般用于测试系统的稳定性

4)并发测试:这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压

特点:

1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。

5)配置测试:这种测试关注点是“微调”,通过对软硬件的不段调整,找出这他们的最佳状态,使系统达到一个最强的状态。

特点:

1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。

6)可靠性测试:这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。

特点:

1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
3、测试过程中需要关注系统的运行状况。

三、性能测试指标

1)响应时间

2)tps 即每秒处理的事务数

3)资源利用率 即在一定的负载情况下,服务器资源占用情况

CPU利用率:

  • 不允许超过70-80%
  • 队列长度

内存(Mem)利用率

  • 80%以下
  • 页交换频率

带宽利用率

  • 100Mbps = 12.5MB/s
  • 1Byte = 8bit

如果资源利用率太小,千万资源浪费

4)用户数 即并发用户数

  • 在同一时间向服务器发送请求的用户数量
  • 与每秒的并发请求数不同,一定要确认需求的目的是并发用户数还是并发请求数
原文地址:https://www.cnblogs.com/nanjo4373977/p/13073652.html