开源 | client-perf 全平台性能测试工具,支持 Windows、Android、iOS、HarmonyOS 四个平台的性能数据采集
# 开源 | client-perf 全平台性能测试工具
基于 vibecoding 完善了之前的项目,现在开源分享:https://github.com/15525730080/client_perf
这是一个**全平台开源性能测试工具**,一台电脑同时支持 Windows、Android、iOS、HarmonyOS 四个平台的性能数据采集,对比分析。
## 核心功能
### 多平台采集
- **Windows**:CPU、内存、GPU、帧率(FPS)、磁盘IO、网络IO、截图
- **Android**:CPU、内存、GPU、帧率(FPS)、磁盘IO、网络IO、截图
- **iOS**:CPU、内存、帧率、线程数、句柄数(支持 iOS 17+ tunnel 模式,已验证 iOS 26)
- **HarmonyOS**:CPU、内存、帧率
### 针对棘手场景优化
1. **Windows 游戏 FPS 采集**:集成 PresentMon 自动提权,无需手动配置权限
2. **iOS 17+ 兼容**:解决苹果 DTX 协议变更问题,支持 iOS 26 最新版本
### 系统架构
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ Web UI (浏览器 / Browser) │
│ http://localhost:8080 │
└──────────────────────────────┬──────────────────────────────────────────────┘
│ HTTP / REST API
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ FastAPI 服务层 / Service Layer (api.py) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ 设备管理 │ │ 任务管理 │ │ 对比分析 │ │ 标签管理 │ │ Excel 报告导出 │ │
│ │Device Mgt│ │Task Mgmt │ │Comparison│ │ Labels │ │ Excel Export │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
└───────┼────────────┼────────────┼────────────┼────────────────┼─────────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ 核心采集层 / Collection Layer (core/) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────┐ ┌──────────────────┐ │
│ │ pc_tools │ │android_tools │ │ ios_tools │ │ harmony_tools │ │
│ │ │ │ │ │ │ │ │ │
│ │ psutil │ │ adbutils │ │ go-ios │ │ hdc │ │
│ │ pynvml │ │ │ │ py-ios-dev │ │ │ │
│ │ PresentMon │ │ │ │ │ │ │ │
│ └──────┬──────┘ └──────┬───────┘ └─────┬──────┘ └────────┬─────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ Monitor 采集循环 / Collection Loop (monitor.py) │ │
│ │ CPU → 内存 → FPS → GPU → 线程数 → 句柄数 → 磁盘IO → 网络IO → 截图 │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
```
## 易于二次开发
新增平台或新指标,只需继承 `Monitor` 基类,实现对应采集函数即可。
## 与 Skill 结合
支持与 AI Agent Skill 联动,可通过自然语言指令触发性能采集、生成报告等操作,方便集成到自动化测试流程中。
## 安装使用
```
pip install client-perf
client-perf
```
Web 界面默认 http://localhost:8080
如果在做客户端性能测试或性能对比,有类似需求可以试试这个项目,提 issue 或 star 都欢迎。
项目地址:https://github.com/15525730080/client_perf
## 核心功能
- **多进程子进程监控**:支持主进程 + 子进程全链路监控
- **定时任务**:自动生成性能报告并导出 Excel
- **多组数据对比**:直观展示不同版本/场景性能差异
- **Web 界面 + REST API**:可视化管理 + 自动化集成
- **截图采集**:自动截取应用界面,辅助性能分析
## 易于二次开发
项目结构清晰,模块化设计,新增平台或新指标只需继承 `Monitor` 基类,实现对应采集函数即可。
## 与 Skill 结合
支持与 AI Agent Skill 联动,可通过自然语言指令触发性能采集、生成报告等操作,方便集成到自动化测试流程中。
## 安装使用
```
pip install client-perf
client-perf
```
Web 界面默认 http://localhost:8000
如果在做客户端性能测试或性能对比,有类似需求可以试试这个项目,提 issue 或 star 都欢迎。
项目地址:https://github.com/15525730080/client_perf
更多推荐



所有评论(0)