性能测试必须掌握的知识点:并发和并行以及CPU的状态和核心参数
  qTGkBRdHYMul 2023年11月02日 86 0


性能测试必须掌握的知识点:并发和并行以及CPU的状态和核心参数_性能优化

 

性能测试一定绕不开并发和并行,而并发和并行又离不开CPU,本文就来带大家深入理解一下究竟什么是并发和并行以及CPU的状态和核心参数。

并发和并行

通常情况下,CPU 有几个核,就可以并行执行几个进程(线程)。这里强调一个概念,我们通常说的并发,英文是 concurrent,指的在一段时间内几个任务看上去在同时执行(不要求多核);而并行,英文是 parallel,任务必须绝对的同时执行(要求多核)。

比如一个 3核的 CPU 就好像拥有 3条流水线,可以并行执行3任务。一个进程的多个线程执行过程则会产生竞争条件,如下图

性能测试必须掌握的知识点:并发和并行以及CPU的状态和核心参数_压力测试_02

CPU主要参数

在linux系统中,我们可以通过top命令获取CPU的主要参数:

性能测试必须掌握的知识点:并发和并行以及CPU的状态和核心参数_优先级_03

其中主要参数的含义如下: 

us(user),即用户空间 CPU 使用占比。

sy(system),即内核空间 CPU 使用占比。

ni(nice),nice 是 Unix 系操作系统控制进程优先级用的。-19 是最高优先级, 20 是最低优先级。这里代表了调整过优先级的进程的 CPU 使用占比。

id(idle),闲置的 CPU 占比。

wa(I/O Wait),I/O Wait 闲置的 CPU 占比。

hi(hardware interrupts),响应硬件中断 CPU 使用占比。

si(software interrrupts),响应软件中断 CPU 使用占比。

st(stolen),如果当前机器是虚拟机,这个指标代表了宿主偷走的 CPU 时间占比。对于一个宿主多个虚拟机的情况,宿主可以偷走任何一台虚拟机的 CPU 时间。

load average——平均负载。 负载可以理解成某个时刻正在排队执行的进程数除以 CPU 核数。平均负载需要多次采样求平均值。 如果这个值大于1,说明 CPU 相当忙碌。

 CPU状态

性能测试必须掌握的知识点:并发和并行以及CPU的状态和核心参数_压力测试_04

用户空间程序对应参数us

内核空间程序对应参数sy

中断程序对应参数hi和si

Idle对应参数id

I/O对应参数wa

被偷走对应参数st

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
qTGkBRdHYMul