Android CPU性能測試

2021-02-14 離島LOGAN

背景

在經典的性能問題中,一般我們會說兩種問題:一種是I/O密集型問題,另外一種就是CPU密集型的問題,今天我就來聊聊如何測試Android應用的 CPU性能。

原理

CPU的問題一般分為以下三類:

1、CPU資源冗餘使用:

關於這個問題的原因,可能是算法太爛,明明可以只遍歷一次卻遍歷了兩次,主要出現在查找、排序、刪除等環節;也可能是沒有用緩存,明明解碼過一次的圖片還重複解碼;還有就是明明使用int就足夠,偏偏要用long,導致CPU的運算壓力多出4倍。

2、CPU資源爭搶:

搶主線程的CPU資源;這是最常見的問題,關鍵是主線程起碼在Android 6.0版之前,沒有renderthread的時候,其繁忙程度就決定了是否會引發用戶的卡頓問題。

搶音視頻的CPU資源;跟主線程的情況不同,音視頻編解碼本身就消耗了大量的CPU資源,同時音視頻編解碼對於解碼的速度是有硬要求的,達不到就會有產生播放流暢度的問題。

大家平等,相互搶,比如你開了20個線程做圖片解碼,那就是相互搶,最終效果就是導致圖片的顯示速度非常慢。

3、CPU資源利用率低:

CPU就是速度與負載的博弈,用得多會耗電、會卡頓,用得少也會有問題,像啟動、界面切換、音視頻編解碼這些場景,為了保證其速度,不好好利用CPU,真對不起核心數的不斷飆升。而導致無法充分利用CPU的因素,除了磁碟和網絡I/O外,還有鎖操作、sleep等。其中鎖的優化,一般在鎖的範圍上,主要是儘可能地縮減範圍。

方案

下面重點講一下做CPU性能測試過程中的採集方法:

1、top命令

top命令大家應該是非常熟悉的了,依靠adb shell top就可以簡單地列出進程的各種信息,缺點就是top本身的性能消耗就不少,所以我們在自動化測試裡面的取值,一般不用top。

2、proc下的CPU信息

Google 在Android Monitor工具中收集CPU的方法也是採用這種方式,這種方式的原理跟top相似,但性能損耗要小很多,建議自動化測試採用這種方式,下面是命令返回欄位的說明:

獲取應用pid:

adb shell ps | grep 包名 | awk '{print $2}' | sed -n 1p

utime + stime + cutime + cstim
adb shell cat /proc/[pid]/stat | awk '{print $14+$15+$16+$17}'

對應的指標分別是:user + nice+ system+ idle+ iowait+ irq+ softirq一段時間內應用進程CPU使用率:(進程CPU總時間2-進程CPU總時間1) / (CPU總時間2-CPU總時間1) * 100%

3、dumpsys cpuinfo

adb shell dumpsys cpuinfo | grep 包名

這種方式雖然比top更簡潔,但是準確性沒有top高。

推薦閱讀:

Android應用啟動流量自動化測試

快速查看Android原生應用中的H5頁面

Android應用權限檢查

在看和轉發是更好的支持

相關焦點

  • 【專家專欄】Android性能測試之CPU
    ▌Android性能測試性能測試是手機應用測試中很重要的一個模塊。
  • Android Systrace 基礎知識(12) - Kernel_CPU Info 解讀
    底下的一些這裡不講,主要是講 Kernel CPU 信息)CPU 區域圖例Systrace 中 CPU Info 一般在最上面,裡面經常會用到的信息包括:總的來說,Systrace 中的 Kernel CPU Info 這裡一般是看任務調度信息,查看是否是頻率或者調度導致當前任務出現性能問題
  • linux sysbench (一): CPU性能測試詳解
    網上sysbench教材眾多,但沒有一篇中文教材對c
  • 軟體測試進階:玩轉ADB之手機操作命令
    本文來自牛鷺學院學員:陳金金ADB是什麼Adb的全稱為Android Debug Bridge:android調試橋梁,下圖為Android官方對adb的介紹:可以看出,Android的初衷是用adb這樣的一個工具來協助開發人員在開發android應用的過程中更快更好的調試apk,因此adb具有安裝卸載apk、拷貝推送文件、查看設備硬體信息、查看應用程式佔用資源、在設備執行shell命令等功能。
  • 手機CPU測試軟體哪個好?6款手機CPU測試軟體推薦
    現在手機品牌越來越多,每一款都有獨特的地方,比如最新的iPhone在圖形處理上的加強,華為mate10的AI、以及美圖手機的拍照性能,不過最終都需要依賴CPU的性能,那麼如何評判一塊CPU的好壞呢?
  • 【松勤軟體測試基礎】APP常見測試點總結
    7.適配測試手機不同解析度支持:客戶端支持800*480,960*540,1920*1280等;手機不通版本的支持:4.0, 5.0, 6.0;在測試計劃中,需要安排單獨的時間用於android不同系統的兼容性測試,包括7.0版本等;手機不同廠家系統的支持:不同廠家會有不同android系統,例如:小米收,華為輸入法。
  • CPU、內存、磁碟IO性能壓測
    安裝 sysbench一 、CPU性能測試 (cpu測試主要是進行素數的加法運算)sysbench 1.0.17 (using system LuaJIT 2.0.4)cpu options:--cpu-max-prime=N upper limit for primes generator [10000] 最大質數發生器數量。
  • 性能測試之用例得分評價和 CPU 內存數據監控——談談個人看法和實踐總結
  • 2018筆記本cpu性能天梯圖 筆記本cpu性能排行2018
    2018筆記本cpu性能天梯圖,電腦處理器cpu主要有Intel和AMD兩大主流品牌。
  • APP常見測試點總結!速速收藏學習
    易用性測試界面與交互性測試:符合android交互規範,符合用戶使用習慣,操作方便簡單,具有一致性。可用性測試:用戶體驗好,用戶操作方便,用戶使用錯誤率低。客戶端側性能測試偏重客戶端側CPU、MEM、流量、電量以及客戶端在不同網絡環境下響應速度等等。
  • golang 基準測試和性能測試總結
    執行所有 Benchmark,也可以通過用例函數名來指定部分測試用例-benchtime 指定測試執行時長-cpuprofile 輸出 cpu 的 pprof 信息文件-memprofile 輸出 heap 的 pprof 信息文件。
  • 性能基礎之CPU、物理核、邏輯核概念與關係
    引言性能測試中當我們嘗試使用 Linux 命令(如 nproc 或 lscpu )了解伺服器CPU
  • PC 小貼士:CPU 性能測試
    測試方法我通過免費的DAWBench DSP Universal 2014標準測試,對音頻計算機中常見的CPU進行了比對。測試結果顯示了CPU與音頻產品的適配性:不過,它不能給我們提供ASIO性能方面的報告。因為ASIO性能與系統中的其他因素有關,而這個測試是專門為計算機CPU設計的「壓力測試」。
  • 性能測試基礎--(CPU)
    第一章 性能測試基礎-在交流群中很多測試同道都比較偏向性能測試,在公司質量測試部門收集到的學習方向大多數同事也集中在性能測試的方向上;也有很多人問
  • Ryzen5 3600目前最有性價比的CPU!跑分,渲染,遊戲性能測試
    雖然蘇媽沒有在發布會上直接說R5 3600對標的inter的CPU,但是R5 3600的直接競爭應該來自Intel的i5-9600,但是這款cpu目前還沒有上市,沒有辦法直接做測試,這次用的是i5-9600k國內售價1999元,i5-9600k是一跨6核心6線程的處理器。製作工藝14nm,主頻在3.7Ghz, 動態加速頻率最高能到4.6Ghz。
  • 50輪Cinebench極限測試 8款主流輕薄本CPU性能橫評
    因此,我們將通過50輪Cinebench R15多核循環測試來檢驗CPU的性能,避免單次跑分的迷惑性與局限性,這種測試方法更能反映CPU在持續負載下的性能表現,也更貼近我們日常的使用環境。具體測試方法如下:1、新建txt文檔,複製下方字符至文檔中,並保存在Cinebench R15根目錄下。
  • Android單元測試與模擬測試詳解
    Android領域中這塊還沒有普及,今天主要聊聊Android中的單元測試與模擬測試及其常用的一些庫。    一般單元測試:列出想要測試覆蓋的異常情況,進行驗證。    模擬測試: 根據需求,測試用戶真正在使用過程中,界面的反饋與顯示以及一些依賴系統架構的組件的應用測試。3.
  • Android壓力測試Monkey工具
    最近在Android程序測試過程中接觸到了自動化測試方法,對其中的一些工具、方法和框架做了一些簡單的整理,其中包括android測試框架、CTS、Monkey、Monkeyrunner其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流和指點在這裡簡單對monkey做簡單的介紹吧。
  • 【逼格晉級篇】常用的正經CPU測試軟體有哪些
    通常來說,大佬們在測試電腦性能的時候總是會用一些花裡胡哨的專業軟體來襯託自己的專業性。
  • 手機CPU天梯圖2020 最新手機cpu性能排行榜
    首頁 > 問答 > 關鍵詞 > cpu最新資訊 > 正文 手機CPU天梯圖2020 最新手機cpu性能排行榜