DNS

Mac 上的 DNS 很慢

每個新網站在載入前都需要一次 DNS 查詢。解析器太慢,即使連線很快,每個網頁一開始也都會卡一下。

適用於:「系統設定」的步驟適用於 macOS 13 Ventura 以上版本。終端機指令適用於所有目前的 macOS 版本。檢查日期:2026年10月29日

症狀

  • 網頁先等個幾秒,然後很快就載入完成。
  • 第一次造訪網站很慢,第二次就很快。
  • 速度測試結果不錯,瀏覽網頁卻感覺很慢。

可能原因

  • DNS 伺服器緩慢或忙碌。路由器或網路業者的 DNS 伺服器回應很慢。
  • DNS 伺服器沒有回應。第一台伺服器逾時,解析器就會改試下一台。每次逾時都會增加延遲。
  • 搜尋網域太多。遇到簡短名稱時,解析器會依序嘗試每個搜尋網域。伺服器距離很遠時,這會變得很慢。
  • 路徑上有 VPN 或過濾器。VPN 可能會把所有 DNS 查詢都經由通道送到很遠的伺服器。

如何檢查

  1. 顯示 macOS 使用的 DNS 伺服器和搜尋網域。

    scutil --dns
  2. 透過 macOS 解析器測量一次查詢,做兩次。第二次的結果可能來自快取。

    time dscacheutil -q host -a name example.org
  3. 找出不需要的搜尋網域。

    networksetup -getsearchdomains Wi-Fi

如何修正

  1. 移除沒有回應的 DNS 伺服器。選擇「蘋果」選單 >「系統設定」>「網路」。

  2. 按一下網路服務,按「詳細資訊」,再按「DNS」。移除沒有回應的伺服器。

  3. 若要使用其他 DNS 伺服器,按一下「DNS 伺服器」列表下方的「加入」按鈕,然後輸入 IP 位址。

  4. 移除不需要的搜尋網域。使用「搜尋網域」列表下方的「移除」按鈕。

  5. 如果路由器的 DNS 對所有裝置都很慢,就重新啟動路由器。

  6. 如果沒有改善,就移除你的變更。「DNS 伺服器」列表留空時,會改回使用網路提供的伺服器。

使用 Kilobat

  1. 把系統解析器和 Cloudflare、Google、Quad9 比較。做決定前先跑兩次。

    kilobat dns-benchmark

    輸出每個解析器一筆,包含 resolver、milliseconds,以及 3 次中的 replies。

  2. 把某個很慢的網站拆成 DNS、連線、TLS 和第一個位元組來看。

    kilobat http-check https://example.org --json
  3. 用 CLI 更改 DNS。macOS 會要求輸入管理者密碼。用 automatic 改回原本的設定。

    kilobat dns cloudflare
  4. CLI 免費。在 App 中,切換 DNS 屬於 Pro 功能,「自動」則一直免費。請參閱挑選更快的 DNS。

常見問題

公用 DNS 伺服器一定比較快嗎?

不一定。離你近的解析器可能更快。更改前,先測量系統解析器和公用解析器。

清除 DNS 快取會讓 DNS 變快嗎?

不會。清除快取只會移除舊的答案,接下來的查詢都必須重新問伺服器。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。