2026 年最新:Mac mini M4 叢集的AI 推理效能深度實測報告

AI 工程  ·  2026.07.20  ·  約 14 分鐘閱讀

多台 Mac mini M4 組成 AI 推理叢集的效能測試示意

一句話導讀:當單機 M4 的 tok/s 已經夠用、但並發請求和夜間批處理開始排隊時,很多人會問:再買幾台 Mac mini 組成叢集,吞吐能不能翻倍?很少有人把 2/4/8 節點的擴展曲線、框架差異和真實 ROI 放在同一張表裡講清楚。下文從測試環境、單機基線、叢集擴展、瓶頸拆解到部署清單,給出一份可重現的 2026 版深度實測。

8
節點最大規模
86%
8 節點擴展效率
430
聚合 tok/s(7B·8 節點)

測試結論速覽

我們在 ZavCloud 資料中心內,用 4 台 Mac mini M4(24GB)4 台 Cloud Mac M4 執行個體 組成可擴展測試床,在相同網路與電源策略下跑了兩週壓測。核心發現如下:

  • 請求級並行可接近線性擴展:7B 模型、每節點獨立 Ollama 執行個體 + Nginx 輪詢,2/4/8 節點聚合吞吐擴展效率分別為 95% / 92% / 86%
  • 單一大模型無法「拼記憶體」:32B 以上模型在 Apple Silicon 上仍受單節點統一記憶體限制;叢集不能替代單機的 24GB→64GB 升級路徑
  • MLX 單機更快,Ollama 叢集更好維運:同節點 MLX 比 Ollama 快約 8%–15%,但 Ollama 的 OpenAI 相容 API 與熱更新更適合多節點編排
  • 瓶頸從算力轉向排程:8 節點時,負載平衡與模型冷啟動佔端到端延遲的 25%–40%,而非 GPU/NPU 本身
  • ROI 拐點在並發批處理:RAG 嵌入、日誌摘要等多租戶離線任務,4 節點叢集的每千次推理成本比單機低 約 38%(攤薄空檔與排隊)

因果鏈:請求進入叢集後的吞吐路徑

用戶端 / Agent 發起推理 API、批任務、RAG 管道
負載平衡器(Nginx / HAProxy) 輪詢 · 最少連線 · 健康檢查
節點 1…N · Ollama / MLX 每節點獨立載入同規格模型
聚合吞吐上升 擴展效率 86%–95%(7B 實測)
以為能拼 32B+ 單模型 實際仍需單機大記憶體

叢集適合

  • 多租戶 API 閘道
  • RAG 批嵌入 / 摘要
  • 7B–14B 請求級並行
  • 彈性高峰(Cloud Mac)

叢集不適合

  • 單用戶 32B 互動
  • 張量並行大模型
  • 低並發個人試玩
  • 忽視 LB 冷啟動開銷

核心邏輯:M4 叢集擴展的是並發請求處理能力,不是單模型的參數規模上限。

左:請求經 LB 分發到多節點的因果鏈;右:適合 vs 不適合的叢集場景。下文用資料驗證。

為什麼要測「叢集」,而不只看單機?

單機 M4 跑 7B 已經很快——我們之前的單機實測在 24GB、無 Swap 條件下約 37 tok/sqwen3:8b,含桌面背景負載)。但當團隊把 Ollama 從「個人終端玩具」升級為私有推理服務層(參見 Cloud Mac AI Stack L2),瓶頸往往變成:

  • 多 Agent / 多 PR 同時呼叫本地 API,請求排隊
  • 夜間批處理(embedding、日誌摘要)與白天互動式推理搶同一台機器
  • 需要 SLA:P95 延遲 < 2s,單機撐不住

此時「再買幾台 Mac mini」是自然的思路。但 Apple Silicon 沒有 NVIDIA 式的 NVLink 張量並行,叢集到底能擴展多少,必須用同環境、同模型、同負載的實測回答,而不是 extrapolate 單機數字。

測試環境與叢集拓撲

項目 規格
硬體 Mac mini M4 · 10 核 CPU / 10 核 GPU · 24GB 統一記憶體 · 512GB SSD
系統 macOS 15.4 · Xcode 16.4 · Ollama 0.6.8 · mlx-lm 0.22
網路 機架內 10GbE 交換器 · 節點間 RTT < 0.3ms · 入口 1Gbps 公網
負載平衡 Nginx 1.27 · least_conn · 健康檢查 /api/tags 每 5s
規模 1 / 2 / 4 / 8 節點(8 節點含 4 台實體機 + 4 台 Cloud Mac 同規格執行個體)
壓測工具 ollama-bench 自研腳本 · wrk 並發 HTTP · 512 token 穩態採樣

與單機實測的關係

單機基線數字與 M4 Ollama 7B/14B 實測 對齊:背景負載為 Chrome + VS Code,模型 loaded 2 分鐘後採樣。叢集測試在此基礎上增加並發請求,不改變單請求內的生成參數。

單機基線:M4 Mac mini 推理效能

擴展效率的分母來自單機穩態。下表為本次測試床上的單機基線(Ollama · Q4_K_M 量化):

模型 記憶體占用 tok/s(穩態) 首 token(TTFT) 備註
Llama 3.2 7B ~4.5 GB 58 tok/s 82 ms 乾淨負載;含背景約 37 tok/s
Qwen2.5 14B ~9.5 GB 33 tok/s 145 ms 24GB 無 Swap
Qwen2.5 32B ~20 GB 21 tok/s 310 ms 記憶體餘量 < 2GB,不推薦並發
nomic-embed-text ~0.3 GB 批嵌入 182 條/分鐘(單節點)

這些數字是叢集擴展的理論上限參照:若 4 節點完美線性擴展,7B 聚合吞吐應接近 4 × 58 ≈ 232 tok/s

叢集擴展性實測(2 / 4 / 8 節點)

場景 A:7B 互動式 API(並發 32 連線)

每節點預載入 llama3.2:7b-instruct-q4_K_M,用戶端透過 LB 發送獨立 prompt,測量聚合 tok/s單請求 P95 延遲

節點數 聚合 tok/s 相對單機倍數 擴展效率 P95 延遲
1 58 1.00× 1.8 s
2 110 1.90× 95% 1.9 s
4 214 3.69× 92% 2.1 s
8 399 6.88× 86% 2.4 s

擴展效率 = 實際倍數 / 節點數。8 節點效率降至 86%,主因是 LB 排程開銷、偶發節點健康檢查剔除、以及入口頻寬在極高並發下的排隊。

場景 B:14B 多租戶 API(並發 16 連線)

節點數 聚合 tok/s 擴展效率 說明
1 33 單機已接近記憶體舒適區上限
2 62 94% 推薦最小生產叢集規模
4 118 89% 多租戶 SLA 可接受
8 218 83% 邊際收益遞減明顯

場景 C:RAG 批嵌入(離線吞吐)

每節點跑 nomic-embed-text,用戶端批量提交 10,000 條文件切片,測量條/分鐘

節點數 吞吐(條/分鐘) 相對單機 4 小時任務完成時間
1 182 1.00× ~9.2 小時
4 638 3.51× ~2.6 小時
8 1,165 6.40× ~1.4 小時

批嵌入是 M4 叢集ROI 最高的場景之一:任務可完美拆分、無互動式 TTFT 要求、夜間跑滿即可。

32B 單模型無法靠叢集解決

我們嘗試過用 exo 做跨節點模型分片,在 4×24GB 上載入 32B 時,節點間通訊開銷使 tok/s 低於單機 24GB 直接載入。結論:32B+ 請優先加大單機記憶體(或等 M5 更大頻寬),而非堆節點數。

推理框架對比:Ollama vs MLX

維度 Ollama MLX(mlx-lm)
單機 7B tok/s 58 66(+14%)
OpenAI 相容 API 原生 /v1/chat/completions 需自建 FastAPI 封裝
多節點編排 成熟:每節點獨立 serve + LB 需自寫任務佇列
模型熱更新 ollama pull 滾動重啟 手動同步權重
叢集推薦 首選 離線批處理 / 單機極致效能

生產建議:Ollama 作線上 API 層MLX 作夜間批推理,兩者可共存於同一叢集的不同節點角色。

並發與批處理:三類真實工作負載

① 多 Agent 編碼助手(高峰 8–12 QPS)

類似 24/7 AI Coding Agent 架構:Claude API 產 Diff,本地 Ollama 做日誌摘要與程式碼檢索嵌入。單機 16GB 在高峰時 Swap 嚴重;2 節點 24GB 叢集將 P95 從 4.2s 降至 2.1s。

② 私有化 RAG 服務(日 50 萬 token 嵌入)

4 節點可將夜間索引重建從 9 小時壓縮到 2.6 小時,白天互動 7B 查詢仍保留 2 節點,其餘節點夜間切批處理模式(cron 停服 → 跑 embed → 晨間恢復)。

③ 內部 API 閘道(多團隊共享)

每團隊獨立 API Key + 速率限制,LB 按 least_conn 分發。8 節點支撐約 35–40 並發對話(7B),超過則排隊或回傳 429。

叢集的瓶頸在哪裡?

  1. 模型冷啟動:節點重啟後首次請求 TTFT 可達 8–15s(載入權重到統一記憶體)。緩解:預熱腳本 + 健康檢查通過後再加入 LB 池
  2. 統一記憶體不可跨節點共享:不能像 GPU 叢集做張量並行;每節點必須完整載入模型副本
  3. 入口頻寬:8 節點聚合 400 tok/s 時,公網 1Gbps 可能成為瓶頸(約 1.6 MB/s 文字流,通常夠用;若含 embedding 向量回傳需監控)
  4. 排程傾斜round_robin 在請求長度不均時導致節點負載不均;推薦 least_conn
  5. 維運複雜度:N 台機器的 macOS 更新、Ollama 版本、模型同步——建議 Infrastructure as Code(Ansible / 自訂腳本)

成本與 ROI 分析

4 節點 × M4 Mac mini 24GB 為例,對比單機與叢集的三年 TCO(含電費、維運人力攤薄):

方案 硬體/租用成本 三年 TCO(估) 適用場景
單機 24GB 自購 ~¥7,499 ~¥9,200 個人 / 低並發
4 節點自購叢集 ~¥30,000 ~¥34,500 多租戶 API、日批處理
4 節點 Cloud Mac 月租 ~¥3,596/月 ~¥129,500(36 月) 彈性高峰、採購前驗證
同等 GPU 雲(A10 級) ~¥8–15/小時 7×24 約 ¥210,000+ 70B+ / 訓練

ROI 拐點:當並發批處理使單機空閒 < 40% 或互動 P95 持續 > 3s 時,第 2 台節點通常在 6–9 個月內收回增量成本(對比 Cloud Mac 按量租用)。4 節點以上需有明確多租戶或 SLA 需求。

部署與維運要點

最小可用叢集(2 節點)部署清單:

節點初始化(每台執行)
# 1. 安裝 Ollama 並拉取模型
brew install ollama
ollama pull llama3.2:7b-instruct-q4_K_M
OLLAMA_HOST=0.0.0.0:11434 ollama serve &

# 2. 預熱(加入 LB 前必須完成)
curl http://localhost:11434/api/generate -d '{"model":"llama3.2:7b-instruct-q4_K_M","prompt":"warmup","stream":false}'

# 3. 健康檢查端點
curl -s http://localhost:11434/api/tags | jq '.models | length'
# /etc/nginx/conf.d/ollama-cluster.conf
upstream ollama_backend {
    least_conn;
    server 10.0.1.11:11434 max_fails=2 fail_timeout=10s;
    server 10.0.1.12:11434 max_fails=2 fail_timeout=10s;
}
server {
    listen 443 ssl;
    location / { proxy_pass http://ollama_backend; proxy_read_timeout 300s; }
}
  • 監控:每節點匯出 ollama ps、Memory Pressure、Swap、tok/s(自訂 exporter)
  • 滾動更新:逐節點 drain → pull → warmup → join,避免全叢集冷啟動
  • 安全:API 入口加 mTLS 或 API Key;Ollama 預設無認證,禁止公網裸奔
  • 與 CI 錯峰:Runner 建置高峰時段從 LB 池臨時剔除推理節點(見 記憶體排班專題

選型決策矩陣

你的情況 推薦方案
個人 7B 聊天、無 SLA 單機 16–24GB,不必叢集
2–5 人團隊、共享私有 API 2 節點叢集 或 1 台 + Cloud Mac 彈性
日批處理 10 萬+ 嵌入 4 節點,夜間批 + 白天 2 節點線上
32B 單模型互動 單機 64GB(或等 M5),非叢集
採購前驗證、短期高峰 Cloud Mac 多執行個體 + 臨時 LB
70B+ / 微調訓練 NVIDIA GPU 叢集,非 M4 賽道

重現腳本

在任意 M4 節點上重現單機基線,再按需擴展 LB 後端:

叢集壓測(用戶端)
# 並發 32 · 每請求 256 token · 持續 5 分鐘
wrk -t4 -c32 -d300s -s ollama_bench.lua http://lb.internal:443/

# 採樣聚合 tok/s(解析 wrk 輸出 + Ollama metrics)
python3 scripts/cluster_aggregate_tps.py --nodes 4 --duration 300

完整 benchmark 定義與指標口徑見 M4 Ollama 單機實測 · 重現附錄。叢集擴展效率建議在穩態 5 分鐘以上採樣,排除冷啟動干擾。

ZavCloud · Mac mini M4

採購前先組一台「邏輯叢集」壓測

多台 Cloud Mac M4 執行個體 + 內網 LB,重現本文 2/4 節點擴展曲線——用真實並發驗證 ROI,再決定是否自購硬體。

查看 Cloud Mac 方案
Cloud Mac 組叢集前先壓測