本篇文章给大家谈谈详解服务器端和移动端性能测试指标-性能测试服务器指标,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
系统性能测试指标
并发
并发是指多个用户在同一时期内进行相同的事务处理或操作。由于用户在进行一系列操作流程时有一定的时间间隔(即用户思考时间)或者服务器处理请求有先后顺序,于是,就产生了绝对并发和相对并发概念的区分。
绝对并发是指同一时刻(即同一时间点)并发用户对服务器同时发送请求。
相对并发是指一段时间内(即同一时间区间)并发用户对服务器发送请求。
并发数计算公式
TPS=并发数/响应时间(基础公式)
并发数=TPS(业务数*80%/时间*20%,原则是80%的请求在20%的时间内完成)*响应时间 (期待响应时间+操控业务的平均单笔时间)
我们以实际数据量来计算
收费业务按照2000人次每天计算,假设都在上午2小时内(7200s)集中完成收费操作,在UI页面中平均处理收费业务的时间是10s,完成收费的期待响应时间是3s。
那么根据公式计算的结果是:
并发数=TPS(2000*80%/7200*20%)*响应时间 (3秒+10秒)=14.44约等于15。
根据公式计算,15个并发已经满足测试需求,假设预计未来两年内业务会翻倍,那么并发数就是30,以此类推。。。
响应时间
响应时间是指某个请求或操作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。
TPS
TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。
QPS
QPS(Query Per Second)是指单位时间内查询或访问服务器的次数。
TPS和QPS的区别在于一个事务可以包含多次查询或访问服务器,也可以只查询或访问一次服务器。当多次查询或访问时,一个TPS相当于多个QPS;当只查询或访问一次时,一个TPS则等价于一个QPS。
PV
PV(Page View)是页面的浏览量或点击量,用户对系统或者网站任何页面的每一次点击或者访问都会被记录一次浏览量或点击量,对相同页面进行多次访问浏览量或点击量也会进行累计。
UV
UV(Unique Vistor)是系统或者网站的独立访客,一段时间内相同客户端(或PC)访问系统或者网站只会被记录一次,连续重复访问或者浏览多个系统页面次数不会进行累计。
吞吐量/吞吐率
吞吐量是指系统处理客户请求数量的总和,可以指网络上传输数据包的总和,也可以指业务中客户端与服务器交互数据量的总和。
吞吐率是指单位时间内系统处理客户请求的数量,也就是单位时间内的吞吐量。可以从多个维度衡量吞吐率:①业务角度:单位时间(每秒)的请求数或页面数,即请求数/秒或页面数/秒;②网络角度:单位时间(每秒)网络中传输的数据包大小,即字节数/秒等;③系统角度,单位时间内服务器所承受的压力,即系统的负载能力。
吞吐率(或吞吐量)是一种多维度量的性能指标,它与请求处理所消耗的CPU、内存、IO和网络带宽都强相关。
服务器性能指标
Cpu
CPU使用率是单位时间内服务器CPU的使用统计,一般情况下,如果%us+%sy<=70%,我们可以认为系统的运行状态良好。
常用命令:
top
cat /proc/cpuinfo //获取CPU详情
内存
Linux的系统内存管理机制遵循内存利用率最大化的原则。内核会将空余的内存划分为cached(不属于free),对于有频繁读取操作的文件或数据会被保存在cached中。因此,对于linux系统来说,可用于分配的内存不止free的内存,同时还包括cached的内存(其实还包括buffers的内存)。cached和buffers都属于缓存,它们的区别主要在于cached主要用来缓冲频繁读取的文件,它可以直接记忆我们打开的文件内容;而buffers主要用来给块设备做的缓冲大小,只记录文件系统的metadata以及tracking in-flight pages信息,比如存储目录里面的内容,权限等。
常用命令:
- top
- free –h
磁盘读写
常用命令: #fdisk –l //查看硬盘及分区情况
命令:# df –h //查看文件系统的磁盘空间使用情况
命令:#iostat //主要用于输出磁盘IO 和 CPU的统计信息。
缓存
缓存是现在系统中必不可少的模块,并且已经成为了高并发高性能架构的一个关键组件。
- Web缓存
可以理解为Web资源在Web服务器和客户端(浏览器)的副本,其作用体现在减少网络带宽消耗、降低服务器压力和减少网络延迟,加快页面打开速度等方面
- 数据缓存
当用户请求增多时,数据库的压力将大大增加,通过缓存能够大大降低数据库的压力,读写请求先在缓存中操作,然后在同步到数据库
系统负载
系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:
它没有在等待I/O操作的结果
它没有主动进入等待状态(也就是没有调用'wait')
没有被停止(例如:等待终止)
一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!
常用命令:
uptime
显示:17:36:27 up 178 days, 6:10, 1 user, load average: 0.03, 0.09, 0.12
当前时间是17:36:27
系统已运行的时间178days, 6:10
当前在线用户1 user
平均负载:0.03, 0.09, 0.12,最近1分钟、5分钟、15分钟系统的负载
app性能指标
启动速度
- 冷启动速度:当启动应用时,后台没有该应用的进程
- 热启动速度:在后台已有进程的情况下启动
- 无网启动速度
耗电量
Android 从两个层面统计电量的消耗,分别为软件排行榜和硬件排行榜。它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单。这两个排行榜的统计是互为独立,互不干扰的。如果想查看更多耗电细节,请参考文章:
Android App 耗电的测试方法
卡顿
卡顿顾名思义就是使用app的流畅度,主要涉及FPS和GPU渲染
- FPS(Frames Per Second的简称缩写)
意思是每秒传输帧数,也可以理解为1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS,一般每秒钟帧数越多,所显示的动作就会越流畅,FPS值越低就越卡顿,所以这个值在一定程度上可以衡量应用在图像绘制渲染处理时的性能。通常,要避免动作不流畅的最低阈值是30/FPS,iOS系统中正常的屏幕刷新率为60Hz(60次每秒)。
- GPU渲染
GPU渲染是指在一个像素点上绘制多次(超过一次):显示一个什么都没有做的activity界面算作画了1层,给activity加一个背景是第2层,在上面放了一个Text View(有背景的Text View)是第3层,Text View显示文本就是第4层。仅仅只是为了显示一个文本,却在同一个像素点绘制了四次,这是一定要优化的。过度绘制对动画性能的影响是极其严重的,如果你想要流畅的动画效果,那么一定不能忽视过度绘制。
如果你还想了解更多这方面的信息,记得收藏关注本站。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7211.html
用户评论
服务器端的性能测试真是太重要了,要保证网站流畅运行。
有13位网友表示赞同!
想了解怎么评估服务器实际表现,这篇文章挺有帮助的。
有8位网友表示赞同!
我一直感觉手机上加载速度越来越快,这都得益于移动端性能测试吧?
有19位网友表示赞同!
学习一下性能测试指标,也许可以帮到我在服务器管理方面。
有5位网友表示赞同!
移动设备种类这么多,性能测试难度是不是很大?
有13位网友表示赞同!
这篇讲解能让我更明白服务器和手机端的差异在哪里。
有11位网友表示赞同!
之前没关注过性能测试,看来是该好好学习一下了。
有10位网友表示赞同!
希望这篇文章能详细介绍一些常见的指标,方便我实际操作。
有8位网友表示赞同!
了解这些指标可以帮助我们更好地优化网站用户体验吧?
有6位网友表示赞同!
服务器端和移动端的性能测试方法有什么区别吗?
有18位网友表示赞同!
做项目的时候,应该从一开始就关注性能测试吧?
有13位网友表示赞同!
感觉现在网站都追求极速加载,所以性能测试更关键了。
有14位网友表示赞同!
学习这些指标,希望能提升我对于系统架构的理解。
有11位网友表示赞同!
文章中提到的这些指标,哪些是比较重要的呢?
有11位网友表示赞同!
我想知道如何通过一些工具来进行性能测试,这篇文章能解答吗?
有8位网友表示赞同!
希望这篇文章能介绍一些实际案例,加深我对指标的理解。
有9位网友表示赞同!
服务器端的指标和用户体验有直接的关系吗?
有5位网友表示赞同!
学习这些知识,可以帮助我更好地进行代码优化吗?
有18位网友表示赞同!
性能测试是一个持续的过程吗?需要注意哪些点?
有5位网友表示赞同!