Domain-Name-System

為什麼我的網站間歇性載入緩慢,似乎是由於 DNS 問題?

  • January 21, 2013

我正要拔掉這個頭髮。我有一個託管在 Heroku 上的 rails 應用程序,使用 Zerigo Free for DNS。該應用程序位於:

  • smartvark.com(首選)
  • www.smartvark.com(一些使用者堅持輸入 www,這會重定向以刪除 www)
  • smartvark.heroku.com(不提供給使用者,但可能對故障排除比較有用)

使用者間歇性地(大約 50 個請求中有 1 個)經歷極長的載入時間(約 2 分鐘),當我嘗試通過查看我的伺服器日誌進行分類時,他們的請求似乎直到等待期結束才被觸發。該站點的典型載入時間約為 200-400 毫秒。我正在使用 NewRelic,它並沒有表示任何伺服器負載問題,儘管它通過信標發現了最終使用者問題,並且這次將圖表顯示為“網路”。

使用 Firebug 和 Chrome devtools,我可以在我的機器上看到發生這種情況的時間線,並且它們都顯示了在任何響應之前的很長的等待時間,Firebug 將其歸類為“DNS 查找”,而 Chrome 似乎沒有進行分類。在第一個響應發生後,站點的其餘部分載入速度非常快。

事實證明,問題在於 Heroku 分配的三個循環 IP 地址之一是錯誤的。他們根據我的支持請求解決了這個問題。感謝大家對追查這個問題的方法和工具的建議!

我猜這是因為您的 DNS 提供商 (zerigo.net) 正在為他們的 DNS 伺服器發布 IPV6 記錄。您的 Windows 和 MAC 客戶端正在使用啟用了 IPV6 但沒有 IPV6 連接的 DNS 伺服器。這會導致 DNS 超時,嘗試通過 IPV6 訪問 DNS 伺服器,然後再故障返回 IPV4。嘗試在 DNS 解析器和客戶端電腦上關閉 IPV6,看看是否能獲得更好的結果。

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