news 2026/9/5 9:36:46

阶段 3:监控与看数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
阶段 3:监控与看数据

阶段 3:监控与看数据(1-2 周)

所属:第二部分 · 分阶段学习
学习目标:压测的同时会看系统资源,知道 CPU、内存、GC、慢 SQL 被谁吃掉了。
预计学习时间:1~2 周。


3.1 为什么要学监控

光压出一堆数字没用。性能测试的价值在于"发现问题 + 定位问题",而定位问题靠的就是监控。压测时你要同时盯三层:操作系统层、JVM 层、数据库层。


3.2 操作系统层(Linux 基础)

命令作用关注点
top/htop看 CPU、内存实时占用CPU 是否打满、哪个进程吃资源
free -h看内存剩余剩余内存、swap 使用
df -h看磁盘空间磁盘是否写满
iostat -x 1看磁盘 IO%util 接近 100% 说明磁盘瓶颈
netstat -an/ss看网络连接TIME_WAIT、连接数是否爆

顺便补一点 Linux 常用命令:cd/ls/tail -f/grep/vim,测试岗天天用。


3.3 JVM 监控(你的主场)

先理解概念:堆内存、栈、GC(垃圾回收)、内存泄漏。

命令行工具

工具作用
jps看 Java 进程 PID
jstat -gc <pid> 1000看 GC 频率和耗时
jstack <pid>看线程栈(排查死锁、线程阻塞)
jmap -histo <pid>看内存对象分布(排查内存泄漏)

可视化 / 诊断工具

  • JVisualVM:图形化看堆、线程、GC。
  • Arthas(阿里开源,强烈推荐):在线诊断,dashboardthreadtracewatch直接定位到方法级别。

你要能判断

  • 频繁 Full GC 导致系统周期性卡顿。
  • 内存持续上涨不回落 = 内存泄漏。
  • 某个线程长期 BLOCKED = 锁竞争。

3.4 数据库监控

慢 SQL 是最常见的性能瓶颈。

  • 慢查询日志:开启后能看到执行慢的 SQL。
  • EXPLAIN:分析 SQL 执行计划,判断有没有走索引、是否全表扫描。
  • 关注:连接池是否耗尽、锁等待、扫描行数。

例:EXPLAIN SELECT * FROM orders WHERE status = 'PAID';如果type=ALL说明全表扫描,status 字段该加索引了。


3.5 监控要"同时看"

压测时不要只盯 JMeter 报告。推荐的观察姿势:

一屏 JMeter 聚合报告(TPS、RT、Error%) 一屏 top(CPU/内存) 一屏 jstat(GC) 一屏 慢 SQL 日志

四个一起看,才能把"现象"和"原因"对上。


3.6 本阶段自测

  • 会用top/free看 CPU 和内存。
  • 会用jstat/JVisualVM 看 GC 和内存趋势。
  • 会用EXPLAIN判断 SQL 有没有走索引。
  • 压测时能同时盯住四层数据。

动手任务:拿自己的 Spring Boot 项目,一边用 JMeter 压测,一边用jstat观察 GC,记录下 CPU、内存、GC 的变化曲线。

✅ 会看数据后,进入阶段 4:分析与定位瓶颈——这是最值钱的能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 9:34:37

KALI LP6 V2监听音箱深度评测:技术解析、实战指南与竞品对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 9:32:55

TS-h1283XU-RP 在航空零部件检测数据归档的部署

TS-h1283XU-RP 在航空零部件检测数据归档的部署声明&#xff1a;本文围绕航空零部件制造行业在无损检测数据归档与构型追溯场景展开技术描述&#xff0c;所涉架构基于行业通用控制逻辑构建&#xff0c;非特定企业应用案例&#xff1b;第三方组件仅以技术规格描述&#xff0c;不…

作者头像 李华
网站建设 2026/9/5 9:27:02

ClaudeCode AI编程助手:从安装配置到生产环境实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 9:26:13

DNF70级私服搭建指南:从模拟器部署到安徒恩副本实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 9:24:01

Claude Code开发环境搭建与MCP协议集成实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 9:23:22

古典乐录音工程化:本地音频分析、响度控制与批量归档全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华