【CPU|这些前后端性能指标,面试一问我就懵了】每一帧都是静止的图象 , 快速连续地显示帧便形成了运动的假象 , 高的帧率可以得到更流畅和逼真的动画 , 因此每秒钟帧数 (FPS) 越多 , 显示出来的动作就越流畅 。
那么什么是合理的FPS呢?
帧率达到60FPS以上 , 人眼主观就感受不到差别了 。 所以一般以60FPS作为衡量标准 , 即要求每一帧刷新的时间小于16ms , 这样才能保证滑动中平滑的流畅度 。
02
后端关注点
- 响应时间:接口从请求到响应、返回的时间 。
- 并发用户数:同一时间点请求服务器的用户数 , 支持的最大并发数 。
- 内存占用:APP的内存开销 。
- 吞吐量(TPS):Transaction Per Second 每秒事务数 。 在没有遇到性能瓶颈时:TPS=并发用户数*事务数/响应时间 。
- 错误率:失败的事务数/事务总数 。
- 资源使用率:CPU占用率、内存使用率、磁盘I/O、网络I/O 。
1、响应时间
指的是客户发出请求到得到响应的整个过程的时间 。 在某些工具中 , 请求响应时间通常会被称为TTLB(Time to laster byte) , 意思是从发起一个请求开始 , 到客户端收到最后一个字节的响应所耗费的时间 。 所以也可以理解成 , 响应时间=网络响应时间+应用程序响应时间 。
因此在大部分公司的项目实际运作中 , 会把性能测试分为两部分 , APP 前端的响应时间、后端接口请求和返回的时间 ,
- 网络传输时间:T3+T4+T5+T6
- 应用服务器处理时间:T5+T7+T8
- 数据库服务器处理时间:T7+T8
那么什么是合理的响应时间呢?
- 互联网上对于用户响应时间 , 有一个普遍的标准 , 2-5-10原则
- 2秒之内得到响应 , 会认为系统响应
的 很快
- 5秒之内得到响应 , 会认为系统响应的速度还不错
- 10秒之内得到响应 , 会认为系统响应的速度很糟糕
- 超过10秒还未得到响应 , 会认为系统是没有响应的
在Linux系统下 , CPU利用率分为用户态、系统态、空闲态 , 分别表示CPU处于用户态执行的时间 , 系统内核执行的时间 , 和空闲系统进程执行的时间 。 平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间 。
CPU可能出现的问题是 , 持续CPU占用较高、设备发热、使用非常卡顿、程序卡死 。
什么情况下会消耗CPU 呢?
- 就是大量的运算比如某个Activity或者方法有一直不停的运算消耗CPU(比如:不停止的while 或者for 循环)
- 设备的应用在空闲时间 , CPU的占用情况
- 应用使用时 , CPU的占用走势 , 持续变化
- CPU的占用峰值
Android系统中 , 每个APP进程除了同其他进程共享(shared dirty)外 , 还独用私有内存(private dirty) , 通常使用PSS(=私有内存+比例分配共享内存)来衡量一个APP的内存开销 。
移动设备的内存资源有限 , 因此为每个APP进程分配的私有内存也是有限制的 。 APP 的内存常见问题有内存占用过高、内存泄露 , 以及内存溢出 。
- 内存泄漏:程序在向系统申请内存分配后 , 使用后未释放 。
- 内存溢出:程序向系统申请的内存空间超出了系统本身的内存 , 会出现崩溃 , 也就是客户端的carsh 。
- 小米科技|小米MIX5一马当前,微挖孔回归,200W快充是重点
- MIUI|超多阉割!升级MIUI 13后,这些功能彻底没了
- CPU|成功!vivo S12 Pro挑战专业摄影团队,照片质量一绝
- CPU|Intel要推CPU氪金:花钱解锁额外功能、Linux内核率先支持
- 安卓|安卓13前瞻:换了新颜,却更像iOS?
- 三星手机|三星手机的销量可以做到全球第一,为何在我们国内却进不了前五名?
- CPU|RTX 4090性能表现/发售时间齐曝光:性能猛兽价格更贵了
- 小米科技|2022年初,小米笔记本该如何选择?这些性价比很高
- 小米科技|2K曲面屏+前置4400万+骁龙888,跌至3499元,“跳水价”1500元
- CPU|别只看跑分和处理器,买手机搞清这几点,要少花冤枉钱