Windows性能监视器(PerfMon)是服务器压力测试的关键诊断工具,通过实时监控(perfmon /res)或数据收集器集(perfmon.msc)采集CPU、内存、磁盘I/O和网络指标,支持本地与远程监控,并可依据典型瓶颈信号(如高队列长度、硬页错误等)精准定位系统级瓶颈。
windows 性能监视器(perfmon)在服务器压力测试中不是辅助工具,而是关键诊断环节。它不参与施加负载,但能客观反映 cpu、内存、磁盘 i/o 和网络在真实压力下的响应行为,帮助定位瓶颈是否来自系统资源而非应用逻辑。
快速启动实时监控
无需创建日志即可查看关键指标:按 Win + R 输入 perfmon /res 回车,直接打开资源监视器(Resmon)。它比任务管理器更深入,提供“磁盘活动”进程级读写速率、“网络活动”按连接统计、“内存”中硬页错误(Page Faults/sec)等压力测试敏感项。适合短时验证或初步排查。
构建可复现的数据收集器集
压力测试需留存完整过程数据用于回溯分析,推荐使用“数据收集器集”:
- 运行 perfmon.msc → 左侧展开“数据收集器集” → 右键“用户定义” → “新建数据收集器集”
- 选择“手动创建高级” → 勾选“创建数据日志” → 类型选“性能计数器”
- 添加核心计数器:Processor(_Total)% Processor Time、MemoryAvailable MBytes、PhysicalDisk(_Total)Avg. Disk Queue Length、Network Interface(*)Bytes Total/sec
- 保存路径设为非系统盘(如 D:PerfLogs),日志格式选“逗号分隔(CSV)”,便于 Excel 或 Python 后续绘图分析
远程监控避免干扰目标服务器
在负载生成机(如运行 LoadRunner 或 JMeter 的客户端)上配置 PerfMon 连接被测服务器,能消除监控进程自身对测试结果的影响:
- 确保被测 Windows 服务器已启用“性能日志与警报”服务,并以具有 Performance Monitor Users 权限的账户运行
- 在 PerfMon 中添加计数器时,“从计算机上选择计数器” → 输入目标服务器名(如 \WEB-SRV01)→ 展开其性能对象列表
- 若提示“拒绝访问”,需在目标服务器上运行 lodctr /R 重载计数器注册表,并确认防火墙放行 TCP 135 端口(WMI)及动态 RPC 端口
识别典型瓶颈信号
压力测试中重点关注以下组合趋势:
- CPU 高但 % Privileged Time < 25%:说明大部分时间花在用户态代码,瓶颈可能在应用层;若 > 40%,需检查驱动、内核模块或上下文切换(Context Switches/sec)是否异常飙升
- Avg. Disk Queue Length 持续 > 2(单磁盘)或 > 2×物理磁盘数(RAID):表明磁盘已饱和,结合 Disk Reads/Writes/sec 判断是随机 I/O 密集还是吞吐瓶颈
- Available MBytes 稳定低于 500 MB 且 Page Reads/sec > 5/sec:内存不足触发频繁硬盘换页,此时增加 RAM 或优化应用内存使用比调优 CPU 更有效



















