// 免費工具 · DNS TTL 計算
DNS TTL 計算機 · 換算工具
輸入 TTL,除了換算成幾小時幾分鐘,還會給你實際要走的順序。搬名稱伺服器或搬主機之前要先把記錄的 TTL 降到 300 秒——但要提前多久降,是由你現在掛著的那個 TTL 決定的。如果已經在回 NXDOMAIN,它還會照 RFC 2308 算出負快取時間,那正是「修好了卻還沒好」的原因。全部在你的瀏覽器裡算完,輸入的值不會送到任何地方。
其他語言:EnglishDeutsch日本語EspañolFrançais한국어繁體中文Português (Brasil)
秒數,或時間長度寫法:3600 / 1h / 90min / 1d 12h / 04:00:00。超過一週的值不接受。
常用值 — 點一下就填入:
只在切換作業期間使用的低 TTL。300 秒是慣例,低於 60 只會增加查詢次數,換不到什麼。
兩個都在 NXDOMAIN 回應的 authority 區段的 SOA 裡:dig SOA example.tw。RFC 2308 取小的那個。預設值 900 是在 .tw 註冊管理機構實測到的。
TTL 計算機怎麼用
三個輸入欄,不用帳號,計算全部在本機完成。你輸入的值不會被送到任何地方。
- 填入現在掛著的 TTL。 把即將要改的那筆記錄上設定的 TTL 填進去,秒數或 1h 這種寫法都可以。會得到換算後的時間,以及它屬於切換用、平衡、還是穩定型。
- 讀變更順序。 作業期間要用的低 TTL、要提前幾小時放出去、切換後快取跟上需要多久、以及結束後調回什麼值,會依序列出來。
- 如果已經在回 NXDOMAIN,把 SOA 的數字也填進去。 執行 dig SOA example.tw,把 minimum 欄位和 SOA 記錄自己的 TTL 填入,就會算出 RFC 2308 的負快取時間——也就是修好之後那個「查無此網域」還會殘留多久。
換名稱伺服器:什麼時候降、什麼時候切
順序本身很短。難的是要提前多久降,而答案由你現在掛著的那個 TTL 決定。
- 先降 TTL。把要搬的那筆記錄的 TTL 改成 300 秒。這時候什麼都還沒搬。
- 等一個舊 TTL 的時間。已經用 3600 快取走的解析器,要等那一小時過完才會重新來問。保守一點就等兩倍。
- 然後才切換。這時候大家手上都是 300 秒的版本,真正的切換五分鐘內就跟上了。
- 穩定後調回去。改回 3600 或 14400。一直掛著 300 只會讓查詢量變多。
這裡有一個很常見的誤解:調降 TTL 本身不會讓切換變快。只有「降得夠早」才會。切換當天早上才降,快取仍然照昨天那個長 TTL 在走。
.tw 的兩個數字,還有「24 到 48 小時」是哪來的
中文網路上講換 DNS,幾乎都會出現「要等 24 到 48 小時」。那不是 .tw 的數字。
下面的值是 2026 年 9 月 5 日直接向 .tw 的權威伺服器查來的,不是管理介面上的說明文字。
| 延遲 | 實測值 | 我能改嗎 |
|---|---|---|
.tw 委派 NS 的 TTL | 3600 秒 = 1 小時 | 不能 — 由註冊管理機構決定 |
.tw 負快取 | 900 秒 = 15 分鐘 | 不能 — 不過很短 |
| 我自己記錄的 TTL | 我設定的值 | 能 — 只有這個降得動 |
(對照).com 委派 NS 的 TTL | 172800 秒 = 48 小時 | 不能 |
你可以自己重算:
$ dig @b.dns.tw NS gov.tw +noall +authority +answer
gov.tw. 3600 IN NS g.twnic.net.tw.
$ dig @b.dns.tw A zzz-nx-test.tw
tw. 900 IN SOA a.dns.tw. ... 3600 900 1296000 900
.tw 是這個系列裡最快的。委派只快取一小時,負快取十五分鐘,兩半都短。換名稱伺服器在 .tw 本質上是一小時等級的作業,不是兩天。那個「24 到 48 小時」是 .com 的 172800 被整段搬過來的說法,.tw 只有它的 1/48。
台灣還多一層:第二層網域
這是 .de、.fr、.jp 那幾個市場沒有的結構差異。台灣的網域絕大多數註冊在第二層——com.tw、net.tw、org.tw、idv.tw——而 com.tw 這一層自己也帶著 3600 的委派 TTL。
$ dig @b.dns.tw NS pchome.com.tw +noall +authority
com.tw. 3600 IN NS b.twnic.net.tw.
所以 www.example.com.tw 這條鏈上有兩段委派快取要跑完,而不是一段。好消息是兩段都是 3600,所以最壞情況仍然在兩小時內;壞消息是排查的時候要記得多看一層——如果你只查了 example.com.tw 的委派而忽略 com.tw,你會漏掉一段。
台灣主機商在自己 zone 上實際回的值
2026 年 9 月 5 日,直接向各家的權威伺服器查它們自家網域的 A 記錄 TTL。這跟管理介面的預設值是兩回事——這是它們實際發出去的數字。
| 業者 | 自家 zone 的 A 記錄 TTL |
|---|---|
| cloudmax 匯智 (cloudmax.com.tw) | 180 秒 |
| PChome (pchome.com.tw) | 300 秒 |
| 中華電信 HiNet (hinet.net) | 86400 秒 = 24 小時 |
HiNet 那一格是整份表裡的異數。如果你的記錄託管在會回 86400 的地方,那 .tw 委派只快取一小時的好處就被你自己記錄的 TTL 抵消掉了——註冊管理機構那一側很快,慢的是你這一側。這也正好說明為什麼「換 DNS 要多久」沒有單一答案:要看是哪一段。
負快取怎麼算:為什麼修好的當下沒有好
只要網域曾經短暫地「不存在」——委派斷掉、記錄被刪、搬遷中出現空窗——在那段時間問過的解析器會把「沒有」這個答案快取起來。而那份快取的壽命不是由你記錄的 TTL 決定,是由 SOA 決定。
RFC 2308 的規則是 min(SOA 的 minimum 欄位, SOA 記錄自己的 TTL)。只讀 minimum 會算錯——實務上兩個值不一樣的 zone 很多,這時候小的那個贏。
$ dig SOA example.tw +noall +authority
這就是為什麼故障結束得比修復晚。委派已經修好,卻還是有一部分使用者看不到,多半不是還壞著,而是負快取還沒過期。.tw 的話是 15 分鐘。
常見的 TTL 值,各自用在哪裡
| TTL | 時間 | 什麼時候用 |
|---|---|---|
| 60 | 1 分鐘 | 正在處理故障。長期掛著只會增加查詢成本 |
| 300 | 5 分鐘 | 切換用的標準值。只在搬遷期間 |
| 900 | 15 分鐘 | 常變動的記錄。跟 .tw 負快取一樣長 |
| 3600 | 1 小時 | 平衡點。多數記錄的預設值,也是 .tw 委派 NS 的 TTL |
| 14400 | 4 小時 | 穩定的記錄,例如不太動的 MX |
| 86400 | 24 小時 | 幾乎不動的記錄。HiNet 在自家 zone 用的就是這個 |
| 172800 | 48 小時 | .com 委派 NS 的 TTL。「24 到 48 小時」的出處 |
把最後兩列跟第四列擺在一起看:.tw 的委派是 3600,.com 是 172800。同一句「換 DNS 要等兩天」,套在 .tw 上會讓你多等四十七個小時。
// 常見問題
換名稱伺服器之前,TTL 要設多少?
把要搬的那筆記錄的 TTL 降到 300 秒,等一個現在掛著的 TTL 那麼久(保守就等兩倍),然後才切換。如果現在是 3600,就要在切換前至少一小時、保守兩小時把它降下來。切換當天早上才降沒有用,因為快取仍然照昨天那個長 TTL 在走。穩定之後調回 3600 或 14400。
TTL 3600 是幾小時?
3600 秒剛好是 1 小時。把這筆記錄快取走的解析器,最多一小時內不會再來問。所以規劃變更時,那一小時必須擺在切換之前。
.tw 網域換名稱伺服器要多久?
2026 年 9 月 5 日直接向 .tw 權威伺服器查到的委派 NS TTL 是 3600 秒,也就是一小時;負快取是 900 秒。兩半都短,所以 .tw 換 NS 本質上是一小時等級的作業。網路上常講的「24 到 48 小時」來自 .com 的 172800 秒,不是 .tw 的數字。要注意的是 .tw 多半註冊在第二層,com.tw 這一層自己也帶 3600 的委派 TTL,所以最壞情況要算兩段。
負快取的 TTL 怎麼算?
照 RFC 2308,是 min(SOA 的 minimum 欄位, SOA 記錄自己的 TTL)。只讀 minimum 會算錯,因為兩個值不同的 zone 很多。用 dig SOA example.tw 把兩個值查出來。.tw 註冊管理機構兩個都是 900,所以負快取是 900 秒、15 分鐘。
把 TTL 調低,切換就會變快嗎?
只有在調低的時間點夠早的時候才會。TTL 不會回溯套用到已經被快取的答案。另外,換的如果是名稱伺服器本身,還有一段委派 TTL 不歸你管——在 .tw 是一小時,在 .com 是四十八小時。
TTL 設得很短不好嗎?
低於 60 秒,查詢量會增加而換不到什麼。處理故障或搬遷中的那幾個小時是合理的,長期掛著就會讓解析器一直回來問,回應延遲也跟著變高。事情結束之後記得調回去。
有意義的是回應裡附著的那個 TTL。
一個命令,從兩個系列的公開解析器讀你的網域,列出每筆記錄剩下的 TTL,接著往下確認 zone、主機名稱指派,以及實際上正在服務的內容。
$ npm i -g @clize/clize && clize install $ clize domain check example.tw[ Agent Domains → ]