百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

干货!详解服务器端和移动端性能测试指标

nanshan 2024-10-25 13:08 10 浏览 0 评论


系统性能测试指标

并发

并发是指多个用户在同一时期内进行相同的事务处理或操作。由于用户在进行一系列操作流程时有一定的时间间隔(即用户思考时间)或者服务器处理请求有先后顺序,于是,就产生了绝对并发和相对并发概念的区分。

绝对并发是指同一时刻(即同一时间点)并发用户对服务器同时发送请求。

相对并发是指一段时间内(即同一时间区间)并发用户对服务器发送请求。

并发数计算公式

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层。仅仅只是为了显示一个文本,却在同一个像素点绘制了四次,这是一定要优化的。过度绘制对动画性能的影响是极其严重的,如果你想要流畅的动画效果,那么一定不能忽视过度绘制。

相关推荐

轻量级分析利器再升级:解读 DuckDB 1.3.0 新特性

DuckDB团队近日正式发布了最新版本——DuckDB1.3.0,代号“Ossivalis”。此次版本以金眼鸭的远古祖先BucephalaOssivalis命名,象征项目在演化和成长过...

C++跨平台编译的终极奥义:用Docker把环境差异按在地上摩擦

"代码在本地跑得飞起,一上服务器就coredump?"——每个C++程序员都经历过的《编译器的复仇》事件!大家好,我是Henry,废话少说,今天来简单谈一下跨平台编译的那些事儿,...

全网最全-Version Script以及__asm__((&quot;.symver xxx&quot;))使用总结

首先提醒一点,一切的前提建立在你的名字必须要mangling,不然无论你写的versionscript还是__asm__都不会起任何效果VersionScript简单用法:这是一个典型例子,这个例...

Ubuntu 25.04 Beta发布:Linux 6.14内核

IT之家3月28日消息,Canonical昨日(3月27日)放出了Beta版Ubuntu25.04系统镜像,代号“PluckyPuffin”,稳定版预估将于2025年...

不同平台CRT的区别?什么是UCRT?如何看libc源代码?

若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好!CRT运行时库C标准规定例如输入输出函数、字符串函数、内存操作等接口,一般采用C运行时库实现。微软的CRT微软有两套CRT,早期的MS...

信创力量,中兴绽放——中兴新支点桌面操作系统安装与使用全攻略

原文链接:「链接」Hello,大家好啊,今天给大家带来一篇中兴新支点桌面操作系统安装使用的文章,欢迎大家分享点赞,点个在看和关注吧!中兴新支点桌面操作系统是一款基于Linux内核、面向政企和信创环...

Linux下安装常用软件都有哪些?做了一个汇总列表,你看还缺啥?

1.安装列表MySQL5.7.11Java1.8ApacheMaven3.6+tomcat8.5gitRedisNginxpythondocker2.安装mysql1.拷贝mysql安装文件到...

一篇文章解决Linux系统安全问题排查,另配实操环境

实操地址:https://www.skillup.host/1/linux/safe/command.md#Linux安全检查排查指南##1.系统账户安全检查###1.1检查异常账户``...

程序员必备的学习笔记《TCP/IP详解(一)》

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样...

《Linux常用命令》(linux的常用命令总结)

一、文件与目录操作1.目录导航pwd:显示当前工作目录路径示例:pwd关键词:当前路径、工作目录cd:切换目录示例:cd/home/user#切换到绝对路径cd..#...

Kubernetes 教程之跟着官方文档从零搭建 K8S

前言本文将带领读者一起,参照者Kubernetes官方文档,对其安装部署进行讲解.Kubernetes更新迭代很快,书上、网上等教程可能并不能适用于新版本,但官方文档能.阅读这篇文章你...

电脑网卡坏了怎么修复(电脑网卡坏了怎么修复win7系统)

当电脑网卡出现故障时,无论是有线网络还是无线网络,都可能无法正常连接。下面从软件、硬件等方面,分步骤为你介绍排查与修复的解决方案。一、初步排查:锁定问题源头检查网络环境将手机、平板等其他设备连接至同一...

如何查询电脑/手机的物理地址(如何找手机的物理地址)

一、要查询电脑的物理地址(也称为MAC地址),可以按照以下步骤进行操作:1.打开命令提示符(Windows)或终端(Mac):-在Windows上,点击“开始”按钮,搜索“命令提示符”,然后点击打...

IPv4 无网络访问权限全流程解决方案

当设备出现IPv4无网络访问权限问题时,多由网络配置错误、连接故障或服务异常导致。以下提供系统化的排查步骤与解决方案,帮助用户快速定位并修复问题。一、基础故障快速检查1.物理连接确认有线网络:检...

Python教程(十九):文件操作(python操作文件夹)

昨天,我们学习了列表推导式,掌握了Python中最优雅的数据处理方式。今天,我们将学习文件操作—Python中读写文件的基础技能。文件操作是编程中的核心技能,无论是读取配置文件、保存用户数据,还是...

取消回复欢迎 发表评论: