移动性能测试 iOS17 性能测试脚本

已经 2024 年 3 月中旬了,ios17 版本出来也已经快半年了。
我看到业界主流开源的 ios 性能测试工具都没有还没支持 ios17。包括 tidevice,py-ios-device,solox。
又因为有大佬开源了可以和 ios17 通信的 pymobiledevice3。
所以我这里组装了下,开源一个 ios17 性能获取的脚本。给需要的同学先临时用一下。然后也希望社区能够早日整合 ios17 性能测试的能力吧。

github:GitHub - 15525730080/iOS17_perf: ios17以上设备性能统计脚本/IOS 17 and above device performance statistics script

iOS17_perf

ios17 以上设备性能统计脚本/IOS 17 and above device performance statistics script

使用教程

pip install -r requirements.txt
 

修改 main.py 中的
bundle_id = "target_app_name"
udid = "target_ios_udid"
将 bundle_id 指向需要测试的 app 名称,udid 指向目标设备
例如:
bundle_id = "com.alipay.iphoneclient" # 测试支付宝的性能
udid = "00008110-0012148E1E8B801E" #ios 设备 udid、app 包名获取获取参见:py-ios-device
 

sudo python main.py # 执行时需要使用管理员权限/sudo
 

示例日志

(ven) ➜ iOS17_perf git:(main) ✗ sudo python main.py
2024-03-15 14:32:06 xxxxxxxxxxxxx pymobiledevice3.cli.remote[94700] INFO tunnel created
UDID: 00008110-0012148E1E8B801E
ProductType: iPhone14,5
ProductVersion: 17.2.1
Interface: utun8
Protocol: TunnelProtocol.QUIC
RSD Address: fd05:d8ec:233d::1
RSD Port: 59102
Use the follow connection option:
--rsd fd05:d8ec:233d::1 59102
2024-03-15 14:32:07 [INFO] [Instrument] base.py[line:291] Sysmontap start ...
2024-03-15 14:32:07 [INFO] [Instrument] base.py[line:292] wait for data ...
2024-03-15 14:32:07 [INFO] [Instrument] base.py[line:309] {'global': ['Alloc system memory', 'Allocated PB Size', 'Device Utilization %', 'In use system memory', 'In use system memory (driver)', 'IOGLBundleName', 'recoveryCount', 'Renderer Utilization %', 'SplitSceneCount', 'TiledSceneBytes', 'Tiler Utilization %', 'CoreAnimationFramesPerSecond'], 'process': []}
2024-03-15 14:32:07 [INFO] [Instrument] base.py[line:310] ['Built-In']
{'currentTime': '2024-03-15 14:32:07.957304', 'fps': 0}
{'Pid': 6944, 'Name': 'AlipayWallet', 'CPU': '0 %', 'Memory': '241.00 MiB', 'DiskReads': '562.65 MiB', 'DiskWrites': '1.79 GiB', 'Threads': 65}
{'currentTime': '2024-03-15 14:32:08.976718', 'fps': 58}
{'Pid': 6944, 'Name': 'AlipayWallet', 'CPU': '42.39 %', 'Memory': '241.03 MiB', 'DiskReads': '562.66 MiB', 'DiskWrites': '1.79 GiB', 'Threads': 65}
{'currentTime': '2024-03-15 14:32:09.990906', 'fps': 55}
{'Pid': 6944, 'Name': 'AlipayWallet', 'CPU': '42.09 %', 'Memory': '241.03 MiB', 'DiskReads': '562.66 MiB', 'DiskWrites': '1.80 GiB', 'Threads': 65}
{'currentTime': '2024-03-15 14:32:11.002227', 'fps': 59}
{'Pid': 6944, 'Name': 'AlipayWallet', 'CPU': '41.8 %', 'Memory': '241.03 MiB', 'DiskReads': '562.66 MiB', 'DiskWrites': '1.80 GiB', 'Threads': 65}
{'currentTime': '2024-03-15 14:32:12.018603', 'fps': 60}
{'Pid': 6944, 'Name': 'AlipayWallet', 'CPU': '50.16 %', 'Memory': '241.05 MiB', 'DiskReads': '564.55 MiB', 'DiskWrites': '1.80 GiB', 'Threads': 68}

从0到1开发压力测试框架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751979.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录-gitlab-安装在k8s中的一些注意点

一、已有cert-manager的时候如何配置? 1、首先需要创建一个ClusterIssuer apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata:name: letsencrypt-staging spec:acme:# You must replace this email address with your own.# Lets Encrypt will use thi…

Mapper.xml映射文件

Mapper.xml映射文件&#xff1a; <select> resultType如果返回的是集合&#xff0c;那么应该设置为集合包含的类型而不是集合本身的类型 如果参数类型是pojo类型&#xff0c;参数名必须是pojo中的属性名 <insert> session.commit(); session factory.openSessio…

微信开发者工具如何使用?使用注意事项

&#xff08;1&#xff09;单位如何进行换算&#xff1f; 1 px 750/屏幕宽度 rpx 1 rpx 屏幕宽度/750 px &#xff08;2&#xff09;如何新建文件&#xff1f; 1> 点开app.json 2> 在“pages/index/index”后面接“&#xff0c;pages/自定义文件夹名/自定义文件名”…

万界星空科技商业开源MES,技术支持+项目合作

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境&#xff1a;jdk11tomcatmysql8springbootmaven 可以免费使用&#xff0c;需要源码价格便宜&#xff0c;私信我获取。 一、系统概述&#xff1a; MES制造执…

LinkedList源码解析和设计思路

一、 继承体系 LinkedList类位于java.util包中&#xff0c;它实现了List接口和Deque接口&#xff0c;LinkedList可以被当做链表、双端队列使用&#xff0c;并且继承自AbstractSequentialList类。在继承关系中&#xff0c;它的父类是AbstractSequentialList&#xff0c;而Abstr…

go语言请求http接口示例 并解析json

本例请求了天气api接口 对接流程 注册一个账号, 对接免费实况天气接口阅读接口文档 http://tianqiapi.com/index/doc?versionday请求接口解析json 开发流程 创建一个 json.go 文件需要引入的包 import ("encoding/json""fmt""io/ioutil"&q…

设计模式--访问者模式(Visitor Pattern)

访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型设计模式&#xff0c;它可以让你在不改变类的情况下&#xff0c;增加作用于一组对象上的新操作。 访问者模式主要包含以下几个角色&#xff1a; Visitor&#xff08;访问者&#xff09;&#xff1a;这是一个接…

Spring炼气之路(炼气二层)

一、bean的配置 1.1 bean的基础配置 id&#xff1a; bean的id&#xff0c;使用容器可以通过id值获取对应的bean&#xff0c;在一个容器中id值唯一 class&#xff1a; bean的类型&#xff0c;即配置的bean的全路径类名 <bean id"bookDao" class "com.zhang…

软件测试 自动化测试selenium 基础篇

文章目录 1. 什么是自动化测试&#xff1f;1.1 自动化分类 2. 什么是 Selenium &#xff1f;3. 为什么使用 Selenium &#xff1f;4. Selenium 工作原理5. Selenium 环境搭建 1. 什么是自动化测试&#xff1f; 将人工要做的测试工作进行转换&#xff0c;让代码去执行测试工作 …

tailwindcss在vite esm模式下的配置修改

vite6将弃用cjs&#xff08;CommonJS &#xff09;采用ESM&#xff08;ESModule&#xff09;&#xff0c;所有的js文件将编译为ESM语法&#xff0c;参考https://cn.vitejs.dev/guide/troubleshooting 基于ESM方式&#xff0c;我们需要对导出导入方式和postcss插件加载方式进行…

macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载

macOS Ventura 13.6.5 (22G621) Boot ISO 原版可引导镜像下载 3 月 8 日凌晨&#xff0c;macOS Sonoma 14.4 发布&#xff0c;同时带来了 macOS Ventru 13.6.5 和 macOS Monterey 12.7.4 安全更新。 macOS Ventura 13.6 及更新版本&#xff0c;如无特殊说明皆为安全更新&…

【开源鸿蒙】编译OpenHarmony轻量系统QEMU RISC-V版

文章目录 一、背景介绍二、准备OpenHarmony源代码三、准备hb命令3.1 安装hb命令3.2 检查hb命令 四、编译RISC-V架构的OpenHarmony轻量系统4.1 设置hb构建目标4.2 启动hb构建过程 五、问题解决5.1 hb set 报错问题解决 六、参考链接 开源鸿蒙坚果派&#xff0c;学习鸿蒙一起来&a…

Vue.js+SpringBoot开发农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…

ISIS接口MD5 算法认证实验简述

默认情况下&#xff0c;ISIS接口认证通过在ISIS协议数据单元&#xff08;PDU&#xff09;中添加认证字段&#xff0c;例如&#xff1a;MD5 算法&#xff0c;用于验证发送方的身份。 ISIS接口认证防止未经授权的设备加入到网络中&#xff0c;并确保邻居之间的通信是可信的。它可…

Blocks —— 《Objective-C高级编程 iOS与OS X多线程和内存管理》

目录 Blocks概要什么是BlocksOC转C方法关于几种变量的特点 Blocks模式Block语法Block类型 变量截获局部变量值__block说明符截获的局部变量 Blocks的实现Block的实质 Blocks概要 什么是Blocks Blocks是C语言的扩充功能&#xff0c;即带有局部变量的匿名函数。 顾名思义&#x…

八股文打卡day35——数据库(12)

面试题:讲一下MVCC机制&#xff1f; 我的回答&#xff1a; MVCC&#xff0c;是多版本并发控制。 什么意思呢&#xff1f; 数据库会记录每条数据记录的变更情况&#xff0c;也就是说&#xff0c;一条数据记录是有多个版本的。 例如&#xff0c;一条数据&#xff0c;是&#xf…

API安全集成最佳实践:有效应对安全挑战

API集成的重要性正愈发凸显。调查数据显示&#xff0c;83%的受访者表示API集成在其业务战略中起着关键作用&#xff0c;约40%的受访者表示企业数字化转型的深入发展是推动API集成的关键推动力。对于现代企业而言&#xff0c;API集成的重要性主要体现在以下方面&#xff1a; 提…

数据结构与算法Bonus-KNN问题的代码求解过程

一、问题提出 &#xff08;一&#xff09;要求 1.随机生成>10万个三维点的点云&#xff0c;并以适当方式存储 2.自行实现一个KNN算法&#xff0c;对任意Query点&#xff0c;返回最邻近的K个点 3.不允许使用第三方库(e.g.flann&#xff0c;PCL,opencv)! 4.语言任选(推荐…

ChatGPT编程实现简易聊天工具

ChatGPT编程实现简易聊天工具 今天借助[[小蜜蜂]][https://zglg.work]网站的ChatGPT练习socket编程&#xff0c;实现一个简易聊天工具软件。 环境&#xff1a;Pycharm 2021 系统&#xff1a;Mac OS 向ChatGPT输入如下内容&#xff1a; ChatGPT收到后&#xff0c;根据返回结…

深度学习设计-基于机器学习的心血管疾病分析与预测

概要 在国富民强的今天&#xff0c;医疗卫生事业快速发展&#xff0c;平均人口寿命也逐年上升&#xff0c;随之而来的是人口老龄化问题&#xff0c;而心 血管疾病是近年来发病率极高的老年性疾病。其发病率和死亡率均有所上升&#xff0c;已然成为当今威胁人类健康的重大疾 病之…