性能测试简介

2020-05-11  本文已影响0人  君皇的天下

一、什么是性能测试?

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

二、性能测试内容

1)负债测试(load test):对于分布式网络,测试不同用户数量来测试系统的反应,主要关注性能指标,系统不同表现。
2)压力测试(stress testing):高压状态下多用户高并发测试(30万-50万),主要关注系统是怎么崩溃的。(内存泄漏,cpu无响应,数据库无反应,网络堵塞)
3)容量测试(volumn testing):系统最大支撑的相关数量,数据库最大数据数量,用户数量。

三、性能测试指标

1.从外部看,性能测试主要关注如下三个指标
2.从内部看,即从服务器的角度看,性能测试主要关注

四、各性能指标介绍

1.响应时间

响应时间是最能反应服务器性能的指标之一,也是用户最关心的业务体验(一般响应时间在3s内,用户会感觉比较满意。在3s~8s之间用户勉强能接受,大于8s用户就可能无法接受,从而刷新页面或者离开)
响应时间=网络响应时间+应用程序响应时间=(N1+N2+N3+N4)+(A1+A2+A3)

image.png
2.吞吐量

吞吐量:即网络传输的数据量,简单来说,就是处理客户的请求数。
吞吐率:单位时间(可以是秒/分/时/天)内网络成功传输的数据量,如请求数/秒、页面数/秒
吞吐量QPS(TPS)= 并发数/平均响应时间
吞吐量预估方法:采用8/2原则。即80%的请求访问在20%的时间内到达。此时根据系统pv测算出qps值
峰值qps=(总Pv * 80%)/(606024*20%)。

例如500W访问,预估QPS: (500W * 0.8) / (606024*0.2) = 400W / 17280 = 232

3.错误率

错误率和服务的具体实现有关。通常情况下,由于网络超时等外部原因造成的错误比例不应超过5%%,由于服务本身导致的错误率不应超过1%,个别服务要求高,错误率不能超过0.01% 。

4.cpu

后台服务的所有指令和数据处理都是由CPU负责,服务对CPU的利用率对服务的性能起着决定性的作用。

Linux系统的CPU主要有如下几个维度的统计数据:

5.内存

计算机中所有程序的运行都在内存中进行,内存分为物理内存、页面交换(Paging),SWAP内存(虚拟内存)

内存的性能分析是用可用内存与页面交换来分析的,可用内存使用占70%-80%为上限,当超出这个数值,内存性能情况就比较危险,而且即使可用内存使用不超过80%的数值时,页面交换比较频繁时,也是要关注下内存情况。

6.网络

指单位时间内通过网络的数据量,当吞吐量大于网路设备或链路最大传输能力,即带宽时,则应该考虑升级网络设备或者增加带宽,Linux命令netstate

7.磁盘IO

磁盘的 I/O,顾名思义就是磁盘的输入输出,输入指的是对磁盘写入数据,输出指的是从磁盘读出数据。服务器常用的是 SAS 和 FC 磁盘,每一种磁盘的性能是不一样的。磁盘吞吐量,指单位时间内通过磁盘的数据量,主要关注磁盘的繁忙率,如果高于70%,则磁盘瓶颈。

四、峰值QPS和机器计算公式

原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

上一篇 下一篇

猜你喜欢

热点阅读