一並行 XCTest:別把「同時開幾個 xcodebuild」當免費平行
每個 Worker 常各自長一份 DerivedData;多模擬器 UI 同時吃記憶體與磁碟 I/O。請先把同一實例上的重任務做成可預測佇列,量到 p95 牆鐘,再決定加機、加盤或升檔。延伸對帳: 了解更多:租期×擴容×並聯總帳沙盤。
二xcodebuild 佇列:序列化與快取策略對齊
總並發數須與快取策略一致,否則 DerivedData 互相汰換、wall time 反而變長。輕測與重 UI 分池,上架前再合流驗收;若流水線接 Actions,可參考 了解更多:Actions 入站與 SSH 隧道分級。
三DerivedData 與多模擬器:磁碟曲線先於 CPU
用獨立 -derivedDataPath 讓清或留快取可審計;多組 iOS 版本矩陣會線性放大磁碟,256GB 常先撞盤。定期清 DerivedData 與舊模擬器快取,比盲目加 Worker 更能壓住月租檔位。
四三檔分工:16/256、24/512、Pro 64/2TB
16/256短測必清快取;24/512作預設迴歸池;Pro 64/2TB扛多目的地 UI 與上架前長跑,台數看並發不看人頭。
| 檔位 | 主用途 | 備註 |
|---|---|---|
| M4 16/256 | 單/雙模擬器、短測 | 嚴格清快取 |
| M4 24/512 | 一般 XCTest 迴歸池 | 佇列+分池 |
| M4 Pro 64/2TB | 多 OS 矩陣、長 UI | 峰值少台 |
五1TB/2TB 擴容斷點:先擴盤再升記憶體
空間與 I/O 同惡化時,優先 1TB 擴容,讓 DerivedData 少被反覆掃掉;需本機長留多組 runtime 再評估 2TB。仍頂滿時,第二台中檔常勝單台硬升 Pro。
六並聯:買吞吐,不買人頭 Pro
兩台 24/512 分擔目的地矩陣,常勝單台 Pro 被長 UI 占滿。同時盯佇列深度、磁碟剩餘、單 job 記憶體,對應加機、加盤或升 Pro。
七五地節點:把 RTT 與鏡像算進 xcodebuild
拉依賴與 artifacts 會吃 wall time;亞太多錨香港或東京,貼美雲看美東。先校準網路帳再怪機器慢。
八上架前 QA 常見問題
九在 Mac mini 上把 XCTest 跑穩、跑省
macOS 與 Xcode 工具鏈開箱即用;統一記憶體利多目的地 UI。Mac mini 小、待機約 4W、適 7×24;託管環境溫控可減少熱降頻。Gatekeeper、SIP、FileVault 收緊遠端面,長期合規成本更低。
想把佇列與 DerivedData 策略落在穩硬體上,從遠端 Mac mini M4 起步驗證一週,再決定擴盤或並聯——前往 kvmmac 首頁了解並開通試用。
分題:佇列歸排程,磁碟歸 DerivedData 治理。分工:M4 池化迴歸、Pro 扛矩陣尖峰。順序:量測後在加盤、加機、升 Pro 三選一對齊真瓶頸;上架週再複核一次磁碟曲線。