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

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

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

相关推荐

ssh终端xshell日志查看命令(xshell怎么看日志)

现在我们云服务器运维较多用的是SSH工具,其中常用的包括PUTTY、XSHELL等,其实大同小异界面UI稍微不同,但是都可以进入远程连接。这里有朋友提到如何查看服务器的日志文件,这个其实和是否使用XS...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

如何高效读取Linux日志文件?这些命令要熟记于心!

在Linux系统中,日志文件通常存储在/var/log目录下。比如,/var/log/syslog(或/var/log/messages,视发行版而定)记录系统整体事件,/var/log/a...

Windows服务器远程登录日志查询方法,linux查看登录日志方法

概述本文介绍Windows、Linux服务器查询系统的远程登录日志方法。根据服务器所使用的操作系统不同,有以下两种查询方法。Linux操作系统的登录日志查询通过远程连接登录Linux服务器,使用roo...

iptables防火墙如何记录日志(防火墙日志查看)

例如:记录所有ssh服务的登录的日志首先,我们需要了解如何将所有的iptables的INPUT链数据包记录到/var/log/messages中。如果你已经有一些iptables规则了,那么将记录日志...

如何安全管理SSH密钥以防止服务器被入侵

SSH密钥安全管理实施指南(2025年更新版)一、密钥生成与存储规范高强度密钥生成bashCopyCodessh-keygen-ted25519-a100#生成ED25519算法密钥(比...

在CentOS上安装nginx服务器(centos搭建代理服务器)

一、环境描述1.虚拟机配置CPU:单核内存:2GB硬盘:120GBIP:10.24.17.1082.操作系统版本:CentOS6.6x86_64安装方式:Minimal3.虚拟化环境VM...

CentOS7安全加固的一份整理规划建议

◆更新系统:及时更新CentOS7操作系统版本和安全补丁,确保系统以最新状态运行。◆关闭不必要的服务:在运行系统时,应关闭不需要的服务和端口,以减少系统暴露的攻击面。◆安装防火墙:使用iptables...

第四十七天-二叉树,centOS安装tomcat,Maven,vsftpd

学习笔记:1.Maven是Apache下的一个纯Java开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven...

Linux远程桌面连接使用教程 Widows终端远程连接Linux服务器

一、前言为什么不是远程连接Linux服务器?因为我不会,远程连接window我就用电脑自带的“远程桌面连接”。以下所述都是在CentOS操作系统下的。服务器刚换成Linux的时候很迷茫,感觉无从下手...

CentOS 安全加固操作,保护你的操作系统

系统加固是保障系统安全的重要手段,对于维护企业数据安全、用户隐私以及系统稳定运行具有重要意义。加固后的系统更加健壮和稳定,能够有效减少因安全问题导致的系统故障和停机时间,提高系统的可用性和可靠性。通过...

Dockerfile部署Java项目(docker如何部署java项目)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

CentOS7云主机部署Fail2ban阻断SSH暴力破解

关于Fail2banFail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽)例如:当有人在试探你的HTTP、SSH、SMTP、FTP密...

在CentOS7上用源码编译安装PostgreSQL

1、新建postgres用户#useraddpostgres&&passwdpostgres2、安装依赖包#yum-yinstallmakegccgcc-c++readline...

pure-ftpd 使用(ftp prompt命令)

pure-ftpd是一个免费的ftp软件,其他介绍就不多说了。我们直接开始主题安装centosyuminstallepel-releaseyuminstallpure-ftpd配置备份原配置...

取消回复欢迎 发表评论: