首页 > 其他分享 >性能测试学习笔记(五)

性能测试学习笔记(五)

时间:2023-10-21 18:46:51浏览次数:30  
标签:free Nmon 性能 笔记 Swap 测试 cs CPU 内存

一、操作系统监控数值项

模块 监控命令
CPU lscpu、cpuinfo、top、atop、vmstat、mpstat、pidstat、Dstat、Nmon、sar、cpupower、irqbalance
Memory top、atop、vmstat、pidstat、Dstat、Nmon、sar、free、smem
I/O iostat、iotop、pidstat、Dstat、Nmon、sar
Network netstat、ifstat、iftop、Ethtool
System  top、atop、vmstat、pidstat、Nmon、sar
Swap vmstat、Nmon、sar、Meminfo、smem

当工具让你眼花缭乱的时候,不要忘记最初的目标,我们要监控的是这几大模块:CPU、 I/O、Memory、Network、System、Swap。下图为各个模块各个计数器对应的监控命令。

 

 

、CPU

CPU计数器常见的问题大部分都是体现在这几个计数器上:

  1. us 【us CPU 是用户态进程消耗的 CPU 百分比】
  2. wa 【wa cpu是 I/O 读写等待消耗的 CPU 百分比】
  3. sy 【sy CPU 是内核消耗的 CPU 百分比】
  4. si  【si CPU 是软中断消耗的 CPU 百分比】

首先,为了确定看到 CPU 高之后,接着往下分析的方向是绝对没有错的,建议用Perf top -g先看一下 CPU 热点。perf默认用的是cpu-clock事件。这一步只是为了确定方向对不对。

简单点来说,当出现异常或资源争用时,它是用来管理秩序的。CPU 正在吭哧吭哧着干活 呢,突然来了一个优先级高的,needs immediate attention,这时就会发一个中断信号给 CPU。作为一个干活的,CPU 谁的话都得听,这时候就把手头的工作现场保存一下,干这 个优先级高的活。除非这个中断是致命的,不然 CPU 会在干完这个活之后再回去干之前的 活,这就是一次软中断。

三、IO

当一个系统调到非常精致的程度时,基本上会卡在两个环节上,对计算密集型的应用来说,会卡在CPU上;对I/O密集型的应用来说,瓶颈会卡在I/O上。

 

svctm代表 I/O 平均响应时间。请注意,这个计数器的数据不一定准。

w_await表示写入的平均响应时间;r_await表示读取的平均响应时间;r/s表示每秒读取次数;w/s表示每秒写入次数。

IO/s 的关键计算是这样的:

IO/s = r/s + w/s

从上面的Total DISK WRITE/READ就可以知道当前的读写到底有多少了,默认是按照 I/O列来排序的,这里有Total,也有Actual。Total的值显示的是用户态进程与内核态进程之间的速度,而Actual显示的是内核块设备子系统与硬件之间的速度。而在I/O交互中,由于存在cache和在内核中会做I/O排序,因此这两个值并不会相同。如果要看磁盘的读写能力怎么样,应该看的是Actual。

四、Memory

 

total肯定是要优先看的,其次是available,这个值才是系统真正可用的内存,而不是 free。因为Linux通常都会把用的内存给cache,但是不一定会用,所以free肯定会越来越少, 但是available是计算了buff和cache中不用的内存的,所以只要available多,就表示内存够用。

五、NetWork

数据发送过程是这样的:应用把数据给到tcp_wmem就结束它的工作了,由内核接过来之后,经过传输层,再经过队列、环形缓冲区,最后通过网卡发出去。

数据接收过程则是这样的:网卡把数据接过来,经过队列、环形缓冲区,再经过传输层,最后通过tcp_rmem给到应用。

 

六、System

最常见的System的计数器是in(interrupts:中断)和cs(context switch:上下文切换)。cs也比较容易理解,就是CPU不得不转到另一件事情上,听这一句你就会知道,中断时肯定会有cs。但是不止中断会引起cs,还有多任务处理也会导致cs。因为cs是被动的,这个值的高和低都不会是问题的原因,只会是一种表现,所以它只能用来做性能分析中的证据数据。

七、Swap

Swap 的逻辑是在磁盘上创建的一个空间,当物理内存不够的时候,可以保存物理内存里的数据.

也就是说,当操作系统中配置了vm.swappiness是 30%,那么当内存用到1-30%=70%的时候,就会发生Swap。注意,下面还有一个参数叫vm.min_free_kbytes。即使把 vm.swappiness改为0,当内存用到小于vm.min_free_kbytes时照样会发生Swap。

想关掉Swap就swapoff -a。

在性能测试和分析中,建议是直接把它关了。为什么呢?因为当物理内存不足的时候,不管怎么交换性能都是会下降的,不管是Swap还是磁盘上的其他空间,都是从磁盘上取数据,性能肯定会刷刷往下掉。

 

标签:free,Nmon,性能,笔记,Swap,测试,cs,CPU,内存
From: https://www.cnblogs.com/wsmbszyn/p/17779334.html

相关文章

  • uboot为LED添加DM驱动--Apple的学习笔记
    一,前言开始玩所有板子一般都是先点灯,比如我可以在汇编中点灯,可以在board_init中用writel写寄存器点灯,当我要进一步熟悉下设备树驱动模型,不管学习linux还是学习uboot这块我理解类似,所以我要通过添加设备树及配置开关来实现默认打开led0和led1的功能。二,实现的过程1,先有了dts信息,我从......
  • 学习笔记六
    学习笔记六一.作业要求自学教材第3章,提交学习笔记(10分),评分标准如下知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核......
  • UBUNTU下第一次写简单驱动(笔记)
    一、环境Ubuntu14.04+vmwaretools二、步骤先写个.c文件,驱动文件一般没有printf,有自己的一套,先写一个helloword.c /* *helloworld.c * *宇文凌风 * */     #include"linux/init.h" #include......
  • 学习笔记6
    第三章学习总结多任务处理一般指的是同时进行几项独立活动的能力,这种逻辑并行性称为“并发”。进程的概念进程是对映像的执行每个进程用一个独特的数据结构表示,称为进程控制块(PCB)或任务控制块(TCB),本书称为PROC结构体。如下是一个非常简单的PROC结构体:next:指向下一个PROC......
  • 性能分析从何入手?
    因环境、开发语言、架构、业务场景的不同会导致在性能测试的过程中出现各种各样的差异性,其对应的性能分析方法也会稍有不同,在此可大致总结为两种办法。性能分析入手分为两种办法1、由内至外,监控资源到性能指标通过监控观测被测系统的各项性能指标(CPU、内存、IO、网络、等硬件资源)......
  • 《信息安全系统设计与实现》第七周学习笔记
    《信息安全系统设计与实现》第七周学习笔记第三章Unix/Linux进程管理多任务处理多任务处理简单说,就是同一时间给多个程序运行处理数据。即使在系统中通常有许多其他的程序在运行,但进程也可以向每个程序提供一种假象,仿佛它在独占地使用处理器。但事实上进程是轮流使用处理器的......
  • python技术栈之单元测试中mock的使用
    什么是mock?mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。mock的作用特别是开发过程中上下游未完成的工序导致当前无法测试,需要虚拟某些特定对象以便测试。unittest是python内置的单元测试库,在做接口测试时,如果......
  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第六周学习笔记
    202113252023-2024-1《信息安全系统设计与实现(上)》第六周学习笔记一、任务要求1.自学教材第3章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X......
  • # 20211301 学习笔记6
    20211301郑润芃学习笔记6第三章教材知识总结3.1多任务处理多任务处理:指同时进行几项独立活动的能力单CPU:一次只能执行一个任务多任务处理:通过不同任务之间多路复用CPU的执行时间上下文切换:不同人物之间的执行切换机制并发:逻辑并行性3.2进程的概念进......
  • 学习笔记6
    第三章.Unix/Linux进程管理多任务处理:指的是同时几项独立活动的能力是所有操作系统的基础,是并行编程的基础进程的概念:进程是对映像的执行在操作系统中,每个进程用一个独立的数据结构表示,叫进程控制块(PCB)和任务控制块(TCB)。本书中称为PROCtypedefstruct......