DNS
Mac 上的 DNS 很慢
每個新網站在載入前都需要一次 DNS 查詢。解析器太慢,即使連線很快,每個網頁一開始也都會卡一下。
症狀
- 網頁先等個幾秒,然後很快就載入完成。
- 第一次造訪網站很慢,第二次就很快。
- 速度測試結果不錯,瀏覽網頁卻感覺很慢。
可能原因
- DNS 伺服器緩慢或忙碌。路由器或網路業者的 DNS 伺服器回應很慢。
- DNS 伺服器沒有回應。第一台伺服器逾時,解析器就會改試下一台。每次逾時都會增加延遲。
- 搜尋網域太多。遇到簡短名稱時,解析器會依序嘗試每個搜尋網域。伺服器距離很遠時,這會變得很慢。
- 路徑上有 VPN 或過濾器。VPN 可能會把所有 DNS 查詢都經由通道送到很遠的伺服器。
如何檢查
顯示 macOS 使用的 DNS 伺服器和搜尋網域。
scutil --dns透過 macOS 解析器測量一次查詢,做兩次。第二次的結果可能來自快取。
time dscacheutil -q host -a name example.org找出不需要的搜尋網域。
networksetup -getsearchdomains Wi-Fi
如何修正
移除沒有回應的 DNS 伺服器。選擇「蘋果」選單 >「系統設定」>「網路」。
按一下網路服務,按「詳細資訊」,再按「DNS」。移除沒有回應的伺服器。
若要使用其他 DNS 伺服器,按一下「DNS 伺服器」列表下方的「加入」按鈕,然後輸入 IP 位址。
移除不需要的搜尋網域。使用「搜尋網域」列表下方的「移除」按鈕。
如果路由器的 DNS 對所有裝置都很慢,就重新啟動路由器。
如果沒有改善,就移除你的變更。「DNS 伺服器」列表留空時,會改回使用網路提供的伺服器。
使用 Kilobat
把系統解析器和 Cloudflare、Google、Quad9 比較。做決定前先跑兩次。
kilobat dns-benchmark輸出每個解析器一筆,包含
resolver、milliseconds,以及 3 次中的replies。把某個很慢的網站拆成 DNS、連線、TLS 和第一個位元組來看。
kilobat http-check https://example.org --json用 CLI 更改 DNS。macOS 會要求輸入管理者密碼。用
automatic改回原本的設定。kilobat dns cloudflareCLI 免費。在 App 中,切換 DNS 屬於 Pro 功能,「自動」則一直免費。請參閱挑選更快的 DNS。
常見問題
公用 DNS 伺服器一定比較快嗎?
不一定。離你近的解析器可能更快。更改前,先測量系統解析器和公用解析器。
清除 DNS 快取會讓 DNS 變快嗎?
不會。清除快取只會移除舊的答案,接下來的查詢都必須重新問伺服器。
資料來源
- Apple 支援:在 Mac 上更改 DNS 設定
- resolver(5),macOS 27.2 內建的 man 頁面
- scutil(8),macOS 27.2 內建的 man 頁面
- networksetup(8),macOS 27.2 內建的 man 頁面
資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。