減少域名dns解析時間 域名解析中的TTL值設置多少合適

什么是TTLTTL是IP協(xié)議包中的一個值,它告訴網(wǎng)絡,數(shù)據(jù)包在網(wǎng)絡中的時間是否太長而應被丟棄。有很多原因使包在一定時間內不能被傳遞到目的地。解決方法就是在一段時間后丟棄這個包,然后給發(fā)送者一個報文,由發(fā)送者決定是否要重發(fā)。TTL的初值通常是系統(tǒng)缺省值,是包頭中的8位的域。TTL的最初設想是確定一個時間范圍,超過此時間就把包丟棄。由于每個路由器都至少要把TTL域減一,TTL通常表示包在被丟棄前最多能經(jīng)過的路由器個數(shù)。當記數(shù)到0時,路由器決定丟棄該包,并發(fā)送一個ICMP報文給最初的發(fā)送者。
其他不再贅述,發(fā)揮二的性格,我們直奔主題。
用戶打開網(wǎng)站的整個流程中,DNS解析時第一環(huán),當用戶輸入域名并敲回車后,windows系統(tǒng)調用DNS client,尋找到用戶配置或者自動分配的DNS IP,之后就開始整個解析過程。
域名解析中的TTL值設置多少合適?
域名解析是實現(xiàn)域名指向IP的重要機制,而TTL值的設置對于域名解析記錄結果的準確性和安全性意義明顯。那么在域名解析操作中,TTL值設置多少合適呢?接下來,國科云針對這個問題做下簡單介紹。
一、什么是TTL值?
TTL的全稱是“Time To Live(生存時間)”,表示的是DNS記錄在DNS服務器上的緩存時間。TTL值與域名解析中DNS緩存機制有著直接關系。
標準的域名解析過程是客戶端發(fā)起解析請求,首先請求遞歸服務器,遞歸服務器代替客戶端向根服務器、頂級服務器和權威服務器發(fā)起請求,這個環(huán)節(jié)要經(jīng)過全球多級查詢,如果每一次請求都按照這個流程操作,就會產(chǎn)生很大的延遲。
為了節(jié)省解析時間,提升解析效率,遞歸服務器會將首次在權威服務器請求到的解析記錄緩存到自身中,保存一段時間。在這段時間內如果有訪客再次對同一域名發(fā)起請求,遞歸服務器就會直接將DNS緩存中的結果告知客戶端,而不必每次都進行全球DNS查詢。這個時間就是TTL值。
二、TTL值對域名解析的影響
TTL值的大小對于域名解析的影響是十分明顯的。如果TTL值太大,那么DNS緩存時間存在就很長,雖然可以在較長時間內為訪客提供更快速的解析記錄,然而一旦域名解析記錄發(fā)生變更,DNS緩存并不能同步更新數(shù)據(jù),就會導致在很長一段時間內,DNS緩存返回給客戶端的記錄是錯誤的原記錄,從而使得用戶訪問到錯誤的站點,而攻擊者也可以利用長期存在的DNS緩存發(fā)起DNS劫持攻擊。
反之,如果TTL值越小,DNS緩存存活的時間就越短,遞歸服務器就會頻繁對權威服務器發(fā)起請求,這樣就保證了遞歸服務器可以較快速地更新最新的解析記錄,從而保證解析記錄的真實可靠,但這樣的問題是TTL值太小,就失去了DNS緩存的存在意義,DNS解析又恢復成從根服務器到權威服務器的標準請求流程,解析時間提升,且頻繁請求也對權威服務器造成較大的壓力。
三、如何設置合理的TTL值?
不同的解析服務商在設置域名解析時的默認TTL值不太一樣,大部分都是600秒,如果沒有特殊的需求,TTL值采用默認值即可。
如果網(wǎng)站服務器比較穩(wěn)定,很長時間都不會更換,這種情況下就可以把TTL值設置得更大些,可以讓訪客更快得到結果去訪問。
如果網(wǎng)站對解析安全性和準確性要求較高,則可以將TTL值設置得盡量小些,這樣就可以更及時地同步權威解析數(shù)據(jù)。
還有一種情況就是當域名DNS服務器發(fā)生變更時,可以提前24小時將TTL值調小,修改域名解析記錄24小時之后,在保證解析記錄全球生效后,再將TTL值按照自己的需求進行調整。
DNS解析,變快有意義嗎?
有,呵呵,很多小型網(wǎng)站,DNS解析時間都接近0.5s,甚至我見過一個網(wǎng)站,需要1.2s才可以解析出結果的。這是個非常令人吃驚的數(shù)據(jù),因為對于一般網(wǎng)站打開時間超過8s用戶即將放棄訪問,而對于電子商務網(wǎng)站,4s就是用戶忍耐極限。而一般經(jīng)過優(yōu)化的小型網(wǎng)站,DNS解析時間都可以控制在200MS左右,而帶寬在100M左右的網(wǎng)站,經(jīng)過優(yōu)化,DNS解析時間可以控制在50-100ms。
如何優(yōu)化呢?
首先利用好TTL,因為要盡量多的讓用戶直接從運營商的DNS緩存中拿到A記錄,這樣才能保證最快,但是也要保證,當你的服務器出問題時,需要盡快的切換,所以,這個TTL設置也是有一些情況需要綜合研究的。
1、 你肯定清楚,自己的服務器有沒有多臺或者備份。如無備份,那服務器宕機時,你只能生抗,所以,TTL時間對于你來說是越長越好,因為TTL短的目的是服務器發(fā)生問題時,可以及時切換,這個對于沒有備份的網(wǎng)站基本利用不上。所以,你的TTL設置就是越長越好,當然了,也不能無限長,一般設置TTL 3600即可。
2、 如有備份或者多臺服務器,會發(fā)生由于服務器宕機需要及時做切換,TTL時間越短,切換越及時,但是TTL時間越短,也就意味著運營商DNS經(jīng)常緩存不住,一般用戶,設置為TTL 600即可,如果對及時切換,要求特別苛刻的網(wǎng)站,設置TTL 120即可。
其次尋找足夠熱的域名解析商。很多網(wǎng)站,都是自己做一個域名解析服務器,看著自己掌控方便了,但是大錯特錯,因為你的域名解析服務器,基本上都不被緩存,每次從根服務器詢問一圈,繞了大半個地球,才給出最后的結果,那自然會效果很差。所以,要尋找足夠熱的域名解析商。什么叫熱,就是被訪問的次數(shù)特別多。足夠熱的話,域名解析服務器的A記錄基本上會被各地運營商的DNS一直緩存著。如何判斷域名解析商夠不夠熱呢?其實,也很簡單,看看這個域名解析商的客戶夠不夠多,他們客戶網(wǎng)站夠不夠熱門,訪問的人夠不夠多。
也給大家推薦一個更好的方法,就是找CDN廠商做域名解析。因為CDN廠商服務的客戶,有很多是很熱很大用戶群很多的,所以,這些CDN廠商的域名解析服務器,服務效果那是崗崗的好。
最后是進階技巧---巧用CNAME。不少網(wǎng)站擁有者,在同樣的一個或多個服務器上運營很多小網(wǎng)站;或者自己運營一個網(wǎng)站,但是拆分了很多個二級域名。針對這些情況,嚴重需要善用CNAME,把所有的這些小網(wǎng)站的域名或者二級域名,cname到一個自己定義的統(tǒng)一域名。然后設置這個cname對應的TTL時間足夠長。這樣的話,保證網(wǎng)站的第一次解析,可以直接從運營商的DNS緩存中拿到,也就是直接拿到cname后的記錄。然后,第二個cname記錄,再設置一個相對合理的TTL值。通過這樣,變相加熱了第二級域名,通過加熱的第二級和緩存時間足夠長的第一級,最大化的優(yōu)化DNS解析時間。該技巧,一定要確保,最后A記錄得到的IP,可以服務這些原始域名。
例子:
www.abc.com. 7200 IN CNAME hot.abc.com.
hot.abc.com. 600 IN A 127.0.0.1
什么叫拆分域名?
很多網(wǎng)站,在搭建網(wǎng)站的時候,只是申請和購買了一個域名,然后所有內容:圖片、js、css、html、php等等,都放在一個域名下。
而拆分域名,指的就是根據(jù)不同的應用,而將域名拆分出來。
拆分域名有什么好處?
使用IE6和IE7內核的瀏覽器,針對同個域名,只會同時發(fā)起2個連接。
使用IE8內核的瀏覽器,針對同個域名,可以同時發(fā)起6個連接。
很重要嗎?
非常重要,請看圖示。
使用IE6打開一個所有內容均在同個域名下的網(wǎng)站
使用IE8打開一個所有內容均在同個域名下的網(wǎng)站
我們看到的是,在IE6的情況下,請求第7個元素,需要0.7s,而在IE8的情況下,0.277就開始請求第7個元素。
由此可以看到,并發(fā)連接更多的時候,網(wǎng)頁打開速度會更快。
由以上數(shù)據(jù)可以看到,多個域名,不管是在IE6和IE8的情況下,拆分域名,都會使網(wǎng)站的打開速度變快。
現(xiàn)實中也是如此,新浪、淘寶等大型網(wǎng)站,他們無一不是在拆分域名。
另外,要糾正一個IT人的誤區(qū)。因為IT人一般都熱衷技術,很多人的操作系統(tǒng)等版本都很新,用的都是IE8甚至以上的瀏覽器。但是整個中國,到目前為止,使用IE6和IE7的用戶,仍然非常另IT人震驚的80%左右。所以,拆分域名,基本上可以縮減你20%以上的打開速度。
一個簡單的操作,就能帶來巨大的效果提升,何樂不為?
當然了,肯定會有人問,拆分域名,那不就會導致域名熱度不夠,DNS緩存不住的問題嗎?這個問題,請看我上一篇博文,已經(jīng)給出了答案。
按照什么原則拆分域名呢?
個數(shù)多少合適?
一般50M以下網(wǎng)頁類網(wǎng)站,域名保持在4、5個即可,過多后范圍會導致你的維護和使用變得復雜。
100-500M以下網(wǎng)頁類網(wǎng)站,域名保持在8-10個左右。
1G以上的網(wǎng)頁類網(wǎng)站,域名無所謂個數(shù),保持10個以上,具體個數(shù)根據(jù)自己的業(yè)務和管理特點隨心制定。
什么內容放到同個域名下?
頁面類:html、htm等
樣式類:js、css等
圖片類:jpg、png、gif等
動態(tài)類:php、asp等
這樣的分配方式,將來有利于你進一步優(yōu)化你的網(wǎng)站,并且在你需要尋找加速工具時,也可以針對性的選擇不同的加速方式。
作者:王康
文章來源:xmw2.blog.chinaunix.net
相關文章
- 有時候我們ping一些域名的時候發(fā)現(xiàn)很多都是cname域名,那就說明用的是cdn,如果感覺對方的cdn訪問很快,我們也可以考慮購買其公司的產(chǎn)品,這里就為大家分享一下CDN服務商及2025-02-24
- Porkbun域名解析,有兩種方法可以實現(xiàn),在本文中,我會逐一講解這兩種方法,按照我下面的步驟操作即可2025-02-23
Porkbun域名注冊購買圖文教程(國外最便宜的域名注冊商)
Porkbun是一家剛成立不久的國外域名商,很多人都不知道,它雖然資歷尚淺,但價格確是全球最低,com域名10.37美元/首年,續(xù)費8.46美元/每年,比Namesilo還便宜2025-02-23- 在本NameSilo域名解析教程中,我們介紹了兩種方法,它們都可以成功綁定域名和主機,本質上沒有任何區(qū)別,二選一即可,如果你購買的主機提供 NS,那就優(yōu)先選擇修改DNS服務器2025-02-23
- 本文是它的域名購買和使用教程,手把手教你如何在 NameSilo 上面注冊購買一個域名,以及買完域名之后怎么用,需要的朋友可以參考下2025-02-23
- NameSilo域名到期前官方會發(fā)送郵件通知你,如果不續(xù)費,則會過期并被人搶注,之后再想買回來就難了,這篇教程我會教你如何在NameSilo續(xù)費域名,下面是完整內容2025-02-23
- 域名注冊商是一種負責管理網(wǎng)站域名注冊購買的公司,國內國外通過ICANN認證的有3860多家,那現(xiàn)在哪個域名商信用好且性價比高?2025-02-23
如何將域名遷移到Namesilo(2025年Namesilo域名轉入圖文詳解)
本文介紹如何將域名遷移到Namesilo,本文的使用的域名是注冊在阿里云并遷移到Namesilo,其它平臺注冊的域名也可以參考此教程,Namesilo的設計確實不太適合國人習慣2025-01-19- 我們有些站長業(yè)務范圍是外貿(mào)網(wǎng)站或者其他網(wǎng)站,那注冊域名不想在國內域名注冊商注冊域名,那就可以選擇國外域名注冊商,那類似我們需要外貿(mào)建站域名商選擇哪個商家呢2023-10-08
- 這篇文章主要介紹了域名解析之CNAME 解析過程、限制和替代,需要的朋友可以參考下2023-07-01