Domain-Name-System

DNS解析速度

  • November 11, 2015

我正在嘗試加快我在偏遠地區的網頁載入時間。

我的伺服器位於德國,我在加利福尼亞州洛杉磯安裝了第二台伺服器。

然後我將 BIND 配置為為來自美洲的客戶返回 LA IP,為來自歐洲和亞洲的客戶返回德國 IP。

儘管 DNS 和名稱伺服器似乎仍有將響應時間縮短幾十毫秒的空間。

目前,為我的域名提供服務的兩個名稱伺服器都位於德國,據我了解,這會導致我的域沒有 dns 記憶體的客戶端出現延遲。我在這裡嗎?

  • 如果我將其中一台名稱伺服器移至洛杉磯,是否會減少 DNS 解析時間?
  • 在名稱解析期間如何選擇要查詢的名稱伺服器?
  • 例如,指定了兩個 NS:位於 DE 的 ns1.domain.com 和位於美國的 ns2.domain.com。會查詢哪一個?指定 IP 而不是 ns1.domain.com 會有所幫助嗎?

我同意 ceejayoz 的評論:如果擔心國際存在,您應該使用具有國際存在的 DNS 提供商。在實踐中,對於您正在解決的問題,這是唯一具有成本效益的解決方案。也就是說,您從國際 DNS 存在中獲得的主要不是響應時間短,而是可靠性,因為您的存在不太可能受到區域之間主要路由問題的影響。

  • 由於大多數客戶端應該在​​ ISP 級別進行 DNS 記憶體,因此嘗試優化 DNS 以實現更快的頁面載入時間通常是一個被誤導的問題。查找 DNS 記錄後,遠端伺服器會在與記錄 TTL 相關的一段時間內記住後續請求。在朝著這個方向繼續之前,請確保您已經確定了一個實際問題。(DNS真的是這裡的問題嗎?有多少延遲?這真的是網路問題嗎?)
  • DNS 專為低延遲和容錯而設計。除非其中一台 DNS 伺服器返回了錯誤數據,或者您的 DNS 基礎架構本身的設計存在缺陷,否則通過您運營的基礎架構解決此問題所帶來的性能提升並不是很划算。
  • 選擇的權威名稱伺服器是隨機的。與 DNS 轉發器(通常設置在您的專用網路上)不同,大多數遞歸/記憶體 DNS 伺服器不會嘗試記住哪個權威伺服器為域返回了最快的響應。他們將嘗試避免與您的多個名稱伺服器進行通信,除非第一個嘗試的名稱伺服器沒有及時響應。他們記住如果伺服器沒有響應請求,但時間不超過五分鐘,並且只有失敗的請求不會被重新嘗試針對該伺服器。(其他人仍然是公平的遊戲)

根據我的經驗,在大多數情況下,像你這樣的人正在通過試圖解決這個問題來追逐紅鯡魚。如果不是,則說明 DNS 伺服器本身存在問題,它們的執行狀況如何,或者它們所在的網路存在問題。

由於上述所有原因,我們強烈建議人們不要執行自己的權威 DNS 伺服器

引用自:https://serverfault.com/questions/735403