其他分享
首页 > 其他分享> > 前后端性能指标 面试一问

前后端性能指标 面试一问

作者:互联网

这篇文章讲讲性能测试的定义,前后端性能测试的常见基础指标。



01性能测试的定义和分类

定义:

观察系统在一个给定的环境和场景中的性能表现是否与预期目标一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性能的完整的过程。

分类:



02性能测试的指标

 

前后端的性能测试关注点和指标是不一样的。

 

01前端关注点


 

图片

1、加载速度

通俗的理解,可以将加载速度视为页面内容显示的快慢。拿Google搜索的例子来说,从用户输入搜索内容按下enter键,到看到搜索出来的内容,这个过程的快慢就是加载速度。假设选中一个内容点击,跳转到一个网页,网页的内容显示出来能让用户看见的过程,也是加载速度。

 

早些年Amazon曾经做过一个统计:网页加载时间每延长1秒钟,一年将减少16亿美元的营收。

 

一般有哪些方式可以改善加载速度带来的用户体验呢?

 

2、电量

Android的很多特性都比较耗电(屏幕、GPS、唤醒机制、CPU、连网等的使用)。

 

3、流量

目前的网络类型包含2G\3G\4G\wifi,其中还有不同运营商的区分。APP 使用过程中,常见的网络流量严重消耗的原因主要有,调用响应慢,调用失败等各种情况。

 

通常从哪些指标去衡量流量消耗的状态是否正常呢?

 

一般有哪些原因导致流量被大量消耗呢?

 

4、Crash和ANR

Crash的原因一般有:空指针、内存泄漏、数组越界、调用了高版本的API。

 

Android应用程序,如果主线程(即UI线程)在超时间内对用户输入时间没有处理完毕,就会出现Application Not Responding弹出框,用户需要选择等待或者强制关闭来杀死进程。

 

5、FPS

就是动画帧率。帧就是指动画或视频的“画面”,1幅画就叫做“1帧”,帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次,通常用FPS(Frames Per Second)表示。

 

每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象,高的帧率可以得到更流畅和逼真的动画,因此每秒钟帧数 (FPS) 越多,显示出来的动作就越流畅。

 

那么什么是合理的FPS呢?

帧率达到60FPS以上,人眼主观就感受不到差别了。所以一般以60FPS作为衡量标准,即要求每一帧刷新的时间小于16ms,这样才能保证滑动中平滑的流畅度。

 

02后端关注点


 

图片

1、响应时间
指的是客户发出请求到得到响应的整个过程的时间。在某些工具中,请求响应时间通常会被称为TTLB(Time to laster byte),意思是从发起一个请求开始,到客户端收到最后一个字节的响应所耗费的时间。所以也可以理解成,响应时间=网络响应时间+应用程序响应时间。

 

因此在大部分公司的项目实际运作中,会把性能测试分为两部分,APP 前端的响应时间、后端接口请求和返回的时间,即分别是系统级性能测试和接口级性能测试

 

响应时间 = N1+N2+T3+T4+T5+T6+T7+T8

 

那么什么是合理的响应时间呢?

详细来说,就是:

 

2、CPU

在Linux系统下,CPU利用率分为用户态、系统态、空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。

 

CPU可能出现的问题是,持续CPU占用较高、设备发热、使用非常卡顿、程序卡死。

 

什么情况下会消耗CPU 呢?

 

一般从哪些指标监控CPU情况呢?

 

3、内存占用

Android系统中,每个APP进程除了同其他进程共享(shared dirty)外,还独用私有内存(private dirty),通常使用PSS(=私有内存+比例分配共享内存)来衡量一个APP的内存开销。

 

移动设备的内存资源有限,因此为每个APP进程分配的私有内存也是有限制的。APP 的内存常见问题有内存占用过高、内存泄露,以及内存溢出。

 

标签:请求,响应,APP,一问,面试,时间,内存,CPU,性能指标
来源: https://www.cnblogs.com/ling7/p/16588716.html