# 开源 | 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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐