ADVERTISEMENT
Domain Name Server簡稱DNS,主要是因為人類記不住60.199.208.210這種IP位址,但是卻可以記住www.techbang.com這種比較有意義的網址,所以需要DNS進行轉換。另一方面,有時也會遇到位址轉換的時候,交由DNS去轉換就好。
- DNSBench下載網址:https://www.grc.com/dns/benchmark.htm
- namebench下載網址:https://code.google.com/p/namebench
DNS的效能瓶頸
先解釋一下重點原理,DNS基本上就是1張超大的表格,裡面填滿了IP位址和網址,只要有人送來「請問techbang.com的實際位置是什麼?」,DNS就會回應「techbang.com的位置是60.199.208.210」資訊。
DNS伺服器還有「分層」以及「快取」的觀念,因為地球是個說大不大、說小不小的星球,若是全部的人均向同一DNS要求域名解析,那麼住得離伺服器較遠的使用者回應時間會很高,目前除了最高等級的13個根(root)伺服器之外,還會再分成區域、國家、網路服務業者、公司等不同層級的DNS,服務當地的民眾。
因為服務區域以及成本的考量,越接近根伺服器的DNS效能越高,表格數越多,越底層的DNS就像是上層伺服器的快取,如果自己沒有techbang.com的資料,就向上一層要求,最糟的狀況就是最後向根伺服器請求。
也許有人會想,那為什麼不要直接向根伺服器請求就好?沒錯,根伺服器的確保有最完整的域名解析資料,但是數量也最少,且絕大多數位於美國,離使用者有段距離,回應時間並不一定比本地附近的DNS快。
另外一方面,快取資料具有「時間」以及「空間」的關聯性,你向DNS查詢的資料,很可能最近也有人查詢過,已經在本地的DNS中留下快取;住在你家附近的使用者,也很有可能跟你上過同樣的網站,以上這2種狀況將DNS伺服器指定為距離較近的主機,能夠獲得更快的回應。
▲在網路連線的TCP/IP設定中,可自行設定2組DNS位址。
DNSBench
首先介紹的是DNSBench這套軟體,這款軟體曾在本雜誌上多次提及,也是筆者經常使用的軟體之一,下載回來就是個可直接使用的執行檔。
DNSBench剛開始執行時會抓取電腦內部所設定的DNS位址,以及世界上大部分公開的DNS位址;使用者也可以利用Nameservers分頁下的Add/Remove按鈕自行添加想要測試的DNS位址。等到軟體抓完位址或是自行輸入之後,便可按下Run Benchmark開始測量。
▲在方框中輸入位址,其它的DNS便可加入DNSBench測試。
軟體預設為升冪排列,會根據3樣測量出來的資訊進行排名,使用者可在伺服器位址後方發現3種顏色的長條圖,綠色長條代表查詢資訊存在於DNS中的回應時間,藍色長條代表查詢資訊不存在DNS中,須向更高層級DNS查詢的反應時間,紅色長條則為.com域名的查詢時間。
▲DNSBench預設為升冪排列,挑前幾個DNS使用就對了。
在某些狀況下,軟體內的DNS位址部分也會出現紅色長條,這代表了部分電腦送出的DNS查詢沒有回應。這表示了2件事,第一,這台DNS可能有過載的情況,無法處理送過去的查詢。第二,你和這台DNS之間的網路可能不穩定,會掉封包,若是發生以上其中1種狀況,就不建議將DNS設定為此類位址。由於升冪排列的關係,越上方的DNS位址就代表反應速度越快,建議使用者直接將電腦預設DNS更改為前幾名的位址。
▲想得知更正確的測試結果,可至Tabular Data分頁中查看。(單位:秒)
namebench
第二套軟體是namebench,下載回來是個自解檔,等程式解壓縮至暫存資料夾後便自動開啟,介面比起DNSBench簡單多了。但其實這是個更在地化、個人化的測試軟體,除了像DNSBench會自動抓取電腦和全球各地的DNS之外,還會自動加入區域性的DNS。更棒的是可以選擇使用者網頁瀏覽器的瀏覽紀錄,作為測試的樣本,找出適合每個人的DNS伺服器。
▲namebench的Query Data Source可以匯入瀏覽器的歷史紀錄,並利用這些歷史紀錄作為測試樣本。
不過這個軟體的測試時間較久,可能長達數十分鐘(視測試樣本數量而定),使用者可以先去看個電視再回來,這個期間請不要使用網路,測試結果會比較準。
軟體跑完之後會開起網頁測試報告,並告訴你若是改採namebench推薦的DNS,速度將比目前系統設定的快多少百分比,下方也是按照升冪排列,還有圖表可供參考,甚至還將DNS請求和回傳的資訊製作成.csv表單,非常的詳盡。
▲namebench測試完畢之後會跳出網頁版結果,並提出更改建議。
▲namebench還產生綜合圖表一起比較各DNS優劣。
▲.csv表格記錄每個DNS查詢以及返回的結果。
讀者若是有空閒時間,不妨將2套軟體均執行過一遍,將測試結果交叉比對一下。
延伸閱讀:
Facebook 連線速度變慢?你也要學會修改 DNS,讓你順暢瀏覽網站
IPv4 快用完,IPv6 來了!網路位址超多,重點觀念解析、試用給你看
本文同步刊載於電腦王雜誌
歡迎加入電腦王雜誌粉絲團
http://www.techbang.com/posts/11973-quick-fix-dns-method
裡面介紹的軟體
做的是同一件事吧?
文中圖的範例都不是台灣的,用美國的ip測然後再把hinet的丟進去模糊比對,讓人誤會說用這類的軟體真的dns速度會有差別
真夠怪的!幹馬不把事實真像告訴讀者呢?
在台灣如果是中華電信的,dns一定是hinet自家的最有效率
其他家isp也是如此,根本幾乎沒有這篇所述的情況存在
作者要是有空的話,應該要幫讀者測試一下
到底你說的這二套在台灣不同的isp用戶中去執行,會有什麼樣不同的效果?
測了等下又有人跳出來講跟自己測的怎麼又不一樣
或是酸測試沒有客觀性可言
不論怎麼做都會有人靠腰
> 上一次騙人改dns,這一次又想唬人一次喔!!!
>
> 文中圖的範例都不是台灣的,用美國的ip測然後再把hinet的丟進去模糊比對,讓人誤會說用這類的軟體真的dns速度會有差別
>
> 真夠怪的!幹馬不把事實真像告訴讀者呢?
> 在台灣如果是中華電信的,dns一定是hinet自家的最有效率
> 其他家isp也是如此,根本幾乎沒有這篇所述的情況存在
>
> 作者要是有空的話,應該要幫讀者測試一下
> 到底你說的這二套在台灣不同的isp用戶中去執行,會有什麼樣不同的效果?
這是在公司的網路狀況下測的, 一套建議我換172.24.203.7(公司自己的DNS), 一套建議我換8.8.4.4, 基本上不可能有誰家的DNS最有效率的問題存在.
圖中範例都是國外網址, 就代表了小編經常去國外網站啊! 所以建議我用8.8.4.4也是很正常的, 如果讀者比較常去台灣網站, 軟體建議你更換為其它DNS也是有可能的, namebench會根據個人電腦歷史紀錄而變更推薦的DNS, 就像你絕對不可能使用我們公司的DNS一樣╮(╯_╰)╭
此外DNS也是會有當機和域名挾持的情況發生, 改個號碼沒這麼難吧? 其實HiNet的DNS在台灣也是數一數二快的, 只是偶爾當機的情況一直沒有改善