Skip to content

pc 进程性能测试平台,支持 windows / mac / linux 平台进程cpu、memory、fps(仅支持windowsOpenGL DirectX 引擎应用 unity u3d应用)、gpu、thread_num、handle_num 等指标的实时监控和可视化展示。

License

Notifications You must be signed in to change notification settings

15525730080/pc_perf

Repository files navigation

pc_perf

tips: python版本建议安装3.7以上 PC进程性能测试平台,支持 windows / mac / linux 平台普通进程、window游戏GUI进程的、应用级别多进程的性能监控。 cpu、memory、fps(仅支持windowsOpenGL DirectX 引擎应用 unity u3d应用)、gpu、thread_num、handle_num 等指标的实时监控和可视化展示

PC process performance testing platform, supporting regular processes on Windows/Mac/Linux platforms and GUI processes for Windows games Real time monitoring and visualization display of metrics such as CPU, memory, fps (only supports Windows OpenGL DirectX engine application Unity u3d application), GPU, thread_num, handle_num, etc

启动入口

方式1(推荐):
pip install -U pc-perf
python -m pc_perf  

方式2:
git clone https://github.com/15525730080/pc_perf.git
pip install -r requirements.txt
python pc_perf.py 

创建任务

image

image

image

image

image

任务列表

image

image

性能报表

image

image

image image

PC进程性能测试平台深度剖析

项目概述

这是一个用于对Windows PC进程进行性能测试和分析的平台,主要针对进程的CPU、内存、FPS、GPU使用率等性能指标进行监控、记录和分析。平台采用Python后端和Vue.js前端架构,支持数据可视化和多任务对比分析。

主要功能模块分析

1. 任务管理功能

功能描述

  • 创建监控任务,选择目标进程
  • 支持进程列表和树形视图两种选择方式
  • 支持监控单个进程或进程及其子进程
  • 管理已创建任务(查看、停止、删除)

优点

  • 用户界面友好,提供树形进程选择视图
  • 提供进程截图预览功能,便于确认选择的进程
  • 任务状态管理完善(未开始、执行中、已完成)

缺点

  • 进程识别仅依赖PID,当进程重启后PID变化会导致无法继续监控
  • 缺少任务批量处理功能
  • 没有任务自动归类或标签功能

可信度

  • 高。通过系统API获取进程信息,数据可靠性高

改进建议

  • 增加进程名称和路径匹配功能,减少对PID的依赖
  • 添加任务组和标签功能,便于管理大量测试任务
  • 增加任务定时启动和条件触发功能
  • 支持批量任务操作

2. 数据采集功能

功能描述

  • 实时采集进程的CPU使用率、内存占用
  • 采集FPS(帧率)和GPU使用率
  • 记录线程数、句柄数等进程信息
  • 监控磁盘I/O和网络I/O
  • 定期采集进程截图

优点

  • 覆盖全面的性能指标收集
  • 数据采集颗粒度细致
  • 支持进程及其子进程的联合监控

缺点

  • 对高频采样性能影响较大
  • 采样频率固定,不支持自定义调整
  • 大量截图会占用较多磁盘空间

可信度

  • 中高。基本系统指标(CPU、内存)可信度高,但FPS测量依赖系统API,在某些应用场景可能不准确

改进建议

  • 添加自定义采样频率选项
  • 增加自动截图频率控制功能
  • 优化数据压缩算法,减少存储占用
  • 支持采集更多应用特定指标(如OpenGL/DirectX性能计数器)
  • 增加低开销模式,降低监控本身对被监控进程的影响

3. 数据可视化功能

功能描述

  • 图表化展示CPU、内存、FPS等性能数据
  • 提供多种图表类型(折线图、柱状图)
  • 支持时间轴联动和数据缩放
  • 显示截图与性能数据的时间对应关系

优点

  • 使用ECharts库实现高质量图表展示
  • 图表间联动交互体验好
  • 支持数据缩放和框选功能

缺点

  • 大数据量下前端渲染性能较差
  • 缺乏自定义视图配置功能
  • 图表布局固定,不支持自定义排列

可信度

  • 高。数据可视化准确反映后端数据

改进建议

  • 实现数据分段加载,提高大数据集的渲染性能
  • 添加自定义图表布局功能
  • 增加更多图表类型(热力图、散点图等)
  • 支持用户保存自定义视图配置
  • 添加性能异常自动标记功能

4. 任务对比功能

功能描述

  • 多任务性能数据对比分析
  • 支持选择基准任务进行相对比较
  • 生成对比报告,显示差异和变化率
  • 支持导出Excel格式报告

优点

  • 支持多维度指标对比
  • 提供直观的性能提升/退化展示
  • 基准任务选择灵活

缺点

  • 缺少统计显著性分析(已删除高级分析功能)
  • 对比维度有限,主要依赖平均值比较
  • 缺少更丰富的对比视图

可信度

  • 中。基本的数值对比可靠,但缺乏统计学支持,对异常值处理有限

改进建议

  • 增加基本的统计分析功能,如方差分析
  • 添加更多对比维度,如稳定性、峰值分析等
  • 支持自定义对比指标和权重
  • 改进异常值处理机制,提高对比准确性
  • 增加可视化对比图表

5. 报告管理功能

功能描述

  • 管理历史对比报告
  • 查看和删除报告记录
  • 导出Excel格式报告文件

优点

  • 系统化管理测试报告
  • 支持Excel格式导出,便于分享和二次处理

缺点

  • 报告格式单一,只支持Excel
  • 缺少报告模板自定义功能
  • 没有报告批量处理能力

可信度

  • 高。报告数据准确反映分析结果

改进建议

  • 增加多种报告格式支持(PDF、HTML、Word等)
  • 添加报告模板自定义功能
  • 支持报告批量导出和处理
  • 增加报告共享和协作功能
  • 添加报告自动生成和定期发送功能

系统架构评估

优点

  • 前后端分离架构清晰,便于维护
  • 采用SQLite数据库,部署简单无依赖
  • 代码模块化良好,功能划分合理

缺点

  • 缺少用户权限管理系统
  • 无分布式测试支持,难以支持大规模测试
  • 前端代码缺少组件化,维护性较差

改进建议

  • 重构前端代码,采用更好的组件化结构
  • 增加用户权限管理系统
  • 考虑支持分布式测试节点
  • 优化数据库设计,提高查询效率
  • 增加API接口文档,便于二次开发和集成

总体评估

这是一个功能较为完善的PC进程性能测试平台,特别适合于软件开发过程中的性能测试和优化。该系统最大的优势在于数据采集全面和直观的可视化展现,主要局限性在于高级分析能力不足(特别是删除了高级分析功能之后)和大规模测试场景支持有限。

通过增强统计分析能力、改进用户界面、优化性能、增加更多自定义功能,该系统可以发展成为更加专业和强大的性能测试平台。

更新日志

2023年6月16日更新

功能优化与问题修复

  1. 对比图表优化

    • 修复了选择不同数量任务进行对比时图表显示错误的问题
    • 增加图表高度从400px到450px,确保图例完整展示
    • 将图例向上移动20px避免被截断
    • 修改tooltip触发方式为item,使鼠标悬停时只显示当前柱状图数据
    • 优化窗口大小变化时的图表重绘逻辑
  2. 任务列表页面简化

    • 移除了基线字段和开关功能
    • 移除每个任务右侧的"取消选择"和"选择对比"功能
    • 移除底部的任务对比操作栏,简化界面
  3. 进程截图优化

    • 修改进程截图展示方式,使用max-width/max-height和object-fit:contain确保图片在不改变展示区域大小的前提下完整显示
    • 添加居中显示和加载失败提示
  4. 数据展示改进

    • 为所有图表添加明确的单位标识,如CPU使用率(%)、内存使用量(MB)、FPS(帧/秒)等
    • 修复高级分析结果页无数据问题,重写图表渲染逻辑
    • 添加详细错误处理和日志输出,提升系统稳定性
    • 实现对话框关闭时的资源清理,防止内存泄漏

高级分析页面修复详情

  1. 基线功能移除

    • 移除了setBaseline和getBaselineTask函数
    • 修改了toggleTaskSelection函数,去除了基线任务的相关逻辑
    • 修改了renderComparisonCharts方法中的基线标签,改为"基准任务"
    • 修改了高级分析页面的标题,去除了"一个基线任务"的表述
  2. 高级分析结果页面修复

    • 增强了高级分析函数的错误处理和日志输出,便于调试
    • 添加了对话框打开时的处理函数handleAdvancedDialogOpen,确保在DOM更新后正确渲染图表
    • 优化了窗口大小变化时的图表重绘逻辑,避免重复添加事件监听器
    • 修复了对话框关闭时的资源清理,防止内存泄漏
    • 增加了更详细的错误提示信息,提高用户体验
    • 实现了统一的窗口大小变化处理函数resizeAdvancedCharts,优化性能
    • 修改了renderSignificanceChart和renderBottlenecksChart方法,移除单独的窗口大小变化监听器

所有修改均确保不影响现有功能及数据监控的可靠性,主要是增强用户体验和系统稳定性。

开源

本项目归属:范博洲 联系我:f15525730080(微信号) 使用需要关注开源协议

About

pc 进程性能测试平台,支持 windows / mac / linux 平台进程cpu、memory、fps(仅支持windowsOpenGL DirectX 引擎应用 unity u3d应用)、gpu、thread_num、handle_num 等指标的实时监控和可视化展示。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published