10年测试老鸟总结,性能测试-CPU性能瓶颈分析(超详细)

本文是一位有着10年经验的测试工程师分享的CPU性能瓶颈分析,涵盖CPU指标要求、重要概念、相关分析命令及如何定位进程线程CPU高的方法。通过监控运行队列、上下文切换等,确保CPU利用率维持在合理范围内,同时提供性能测试的实战指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

1、cpu指标要求

建议CPU指标如下:
对于每一个CPU来说运行队列不要超过3,例如,如果是双核CPU就不要超过6;

如果CPU在满负荷运行,应该符合下列分布:
User Time:65%~70%,us过大,说明有用户进程占用很多cpu时间,需要进一步的分析其它软硬件因素。

System Time:30%~35%,sy过大,说明系统管理方面花了很多时间,说明该系统中某个子系统产生了瓶颈,需要进一步分析其它软硬件因素。

User Time+System Time,合理值范围是 60-85%,如果在一个多用户系统中us+sy时间超过85%,则进程可能要花时间在运行队列中等待,响应时间和业务吞吐量会受损害

Idle:0%~5%,CPU完全空闲的百分比
对于上下文切换要结合CPU使用率来看,如果CPU使用满足上述分布,大量的上下文切换也是可以接受的。

出现cpu计数器不在范围时,不一定是由于cpu资源不够,因为其他资源的也会引起,例如内存不够时,cpu会忙内存管理的事,表面上可能是cpu的利用为100%

2、cpu3个重要概念

有3个重要的概念:上下文切换(context switchs),运行队列(Run queue)和使用率(utilization)

1)查看运行队列,使用top或者uptime查看:
每个CPU都会维持一个运行队列,理想情况下,调度器会不断让队列中的进程运行。进程不是处在sleep状态就是run able状态。

如果CPU过载,就会出现调度器跟不上系统的要求,导致可运行的进程会填满队列。

队列愈大,程序执行时间就愈长。

“load”用来表示运行队列,用top 命令我们可以看到CPU一分钟,5分钟和15分钟内的运行队列的大小。

这个值越大表明系统负荷越大。用uptime得到的3个负载值除以逻辑CPU数,如果3个结果值均>1,则表示CPU过载。

2)查看上下文切换,使用vmstat查看cs:
每个CPU(或多核CPU中每个核心)在同一时间只能执行一个线程,Linux采用抢占式调度,线程的处理器可以在同一时间运行多个线程(包括多核CPU),Linux内核会把多核的处理器当作多个单独的CPU来识别;

即为每个线程分配一定的执行时间,当到达执行时间,

### 渗透测试老鸟九青 AWD 竞赛技巧和经验分享 #### 关于AWD竞赛概述 在攻防世界(AWD, Attack and Defense)竞赛中,参赛队伍不仅需要保护自己的服务免受攻击,还需要积极寻找其他队伍的漏洞并加以利用。这种双向对抗模式使得比赛异常激烈且充满挑战。 #### 技巧一:快速响应与修复能力 面对不断变化的比赛环境,具备迅速定位问题根源的能力至关重要。当检测到己方服务器被入侵时,应立即启动应急处理流程,在最短时间内恢复系统正常运行状态[^3]。 #### 技巧二:深入理解常见Web安全漏洞及其防御方法 掌握诸如SQL注入、XSS跨站脚本攻击等典型Web应用层面上的安全隐患,并能熟练运用各种防护措施来加固网站架构。这有助于减少因代码缺陷而导致的服务中断风险。 #### 技巧三:团队协作沟通机制建立 良好的内部交流渠道可以极大地提高工作效率。通过即时通讯工具保持密切联系,及时共享情报信息;定期召开战术会议讨论应对策略调整方向,确保每位成员都能发挥最大价值。 #### 技巧四:自动化工具的应用 合理借助一些开源或自制的小型程序辅助日常运维工作,比如自动化的漏洞扫描器可以帮助发现潜在威胁点,而批量修改配置文件则可节省大量重复劳动时间。但需要注意的是,任何外部软件都可能存在未知的风险因素,因此务必谨慎评估后再投入使用。 ```bash # 使用nmap进行网络端口扫描示例 sudo nmap -sS -O 192.168.1.0/24 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值