常见的性能术语

目录

1. CPU类

1.1. 什么是缓存命中率?

1.2. 什么是上下文切换?

1.3. 线程与进程

1.4. 并发与并行

2. 内存类

2.1. free 命令

2.2. 物理内存和交换分区

3. 磁盘类

3.1. TPS、QPS、IOPS

4. 网络类

4.1. 网络带宽

4.2. 吞吐量和吞吐率


1. CPU类

1.1. 什么是缓存命中率?

        缓存命中率:通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。

        缓存的粒度越小,命中率就越高,对象缓存是缓存粒度最小的,因此被命中的几率更高。

  • 命中时:可以直接通过缓存获取到需要的数据。
  • 未命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。

命中率 = 命中数 / (命中数 + 未命中数)

 

 

1.2. 什么是上下文切换?

        上下文切换指的是内核在CPU上对进程或者线程进行切换,频繁的切换会对性能造成负面影响,切换次数越低越好。

vmstat  # 查看整体上下文切换次数
    --cs列表示每秒上下文切换次数 

 

pidstat -w  # 查看每个进程的上下文切换次数
    --cswch/s  :每秒自愿上下文切换的总数
    --nvcswch/s:每秒非自愿上下文切换的总数

 

 

1.3. 线程与进程

  • 进程是正在运行的程序的实例,每一个进程都有它自己的地址空间。
  • 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

可以从进程ID中看出,线程的父ID为进程ID

 

 

1.4. 并发与并行

  • 并发:一个CPU处理器同时处理多个线程任务(​CPU在多个线程之间快速的交替执行CPU把运行时间划分成若干个(微小)时间段,公平的分配给各个线程执行,在一个时间段的线程运行时,其他线程处于挂起状态,这种就称之为并发)。
  • 并行:多个CPU处理器同时处理多个线程任务(当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这就被称之为并行)。

并发:1个人按顺序削完5苹果。

并行:5个人同时削5个苹果,每人1个,互不干涉。

 

         

 

2. 内存类

2.1. free 命令

free  # 查看内存使用情况(默认单位:KB,可以通过-k、-m、-g、-h指定单位)
    --mem :表示物理内存
    --swap:表示交换分区
    -- -/+ buffers/cache used:实际使用的内存(used - buffers - cached)
    -- -/+ buffers/cache free:实际可用内存(free + buffers + cached)

    --total  :总内存大小
    --used   :已使用的内存
    --free   :空闲的内存
    --shared :多个进程共享的内存总额
    --buffers:块设备的读写缓冲区
    --cached :page cache的内存,即文件系统的cache。

        如果cache的值很大,则说明cache住的文件数量很多。如果频繁访问到的文件都能被cache住,那么磁盘的读I/O必定会非常小,但是过大的文件cache可能会影响到内存的使用效率,导致操作系统上其他进程的内存不够大,甚至还会使用到swap空间。

 

 

2.2. 物理内存和交换分区

  • 物理内存就是机器本身的内存大小(由内存条大小数量决定)。
  • 交换分区(swap)就是Linux下的虚拟内存分区。需要拿出一部分硬盘空间来充当内存使用,当物理内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

 

 

 

3. 磁盘类

3.1. TPS、QPS、IOPS

  • TPS(Transactions Per Second):每秒处理的事务数。TPS包括一条消息入和出,加上一次用户数据库访问(业务TPS = CAPS × 每个呼叫平均TPS)。评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。
  • QPS(Queries Per Second):每秒查询数,包括了用户请求服务器、服务器自己的内部处理、服务器返回给用户。一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS中。

        QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入QPS之中。

        因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS。对应fetches/sec,即每秒的响应请求数,也就是最大吞吐能力

  • IOPS(Input/Output Per Second):每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(Video On Demand),则更关注吞吐量指标。

        IOPS的计算公式:IOPS = 1000ms / (寻道时间 + 旋转延迟时间)

 

 

 

4. 网络类

4.1. 网络带宽

        网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。

        网络传输速率 = 带宽 / 8

例如带宽为1000M,那么实际的传输速率 = 1000M / 8 = 125M/s

ifconfig  # 查看网卡名
ethtool [网卡名] |grep Speed  # 查看带宽

 

 

4.2. 吞吐量和吞吐率

  • 吞吐量是指系统在单位时间内处理请求的数量,表现了一个系统的承压能力。
  • 吞吐率是一种关于计算机或数据通信系统(如网桥、路由器、网关或广域网连接等)数据传输率的测度。

        吞吐率作为一个重要的衡量指标,最主要应用在并行处理上,属于系统结构中最重要的一个变量,它的定义是:单位时间的吞吐量。吞吐率在性能测试中指单位时间内在网络上传输的数据量。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值