Вақти пасти DNS калиди дидани босуръати интернет аст. Барои кам кардани он, муҳим аст, ки бодиққат интихоб кардани серверҳои DNS ва
Ин аст, ки чаро DNS дар ибтидо ҳамчун як протоколи хеле кэшшаванда тарҳрезӣ шуда буд. Маъмурони минтақа барои вурудоти инфиродӣ вақти зиндагӣ (TTL) муқаррар мекунанд ва ҳалкунандаҳо ин маълумотро ҳангоми нигоҳ доштани сабтҳо дар хотира барои пешгирӣ кардани трафики нолозим истифода мебаранд.
Оё кэш самаранок аст? Якчанд сол пеш, тадқиқоти хурди ман нишон дод, ки он комил нест. Биёед ба вазъияти хозираи кор назар андозем.
Барои ҷамъоварии маълумот ман часпондам
Маҷмӯи маълумоти натиҷавӣ аз 1 сабт иборат аст (ном, навъи q, TTL, тамғаи вақт). Ин аст тақсимоти умумии TTL (меҳвари X TTL дар сонияҳо):
Ба ғайр аз зарбаи ночиз дар 86 (асосан барои сабтҳои SOA), равшан аст, ки TTLҳо дар доираи паст қарор доранд. Биёед бодиққат назар кунем:
Хуб, TTLҳо аз 1 соат зиёд аз ҷиҳати оморӣ аҳамият надоранд. Пас биёед ба диапазони 0−3600 тамаркуз кунем:
Аксарияти TTLҳо аз 0 то 15 дақиқа мебошанд:
Аксарияти мутлақи онҳо аз 0 то 5 дақиқа мебошанд:
Ин хеле хуб нест.
Тақсимоти ҷамъӣ мушкилотро боз ҳам равшантар мекунад:
Нисфи ҷавобҳои DNS дорои TTL 1 дақиқа ё камтар ва аз чор се ҳиссаи TTL 5 дақиқа ё камтар аст.
Аммо мунтазир бошед, дар асл ин бадтар аст. Дар ниҳоят, ин TTL аз серверҳои бонуфуз аст. Бо вуҷуди ин, ҳалкунандаҳои муштарӣ (масалан, роутерҳо, кэшҳои маҳаллӣ) аз ҳалкунандаҳои болоӣ TTL мегиранд ва он ҳар сония коҳиш меёбад.
Ҳамин тавр, муштарӣ воқеан метавонад ҳар як вурудро ба ҳисоби миёна нисфи TTL-и аслӣ пеш аз фиристодани дархости нав истифода барад.
Шояд ин TTL-ҳои хеле паст танҳо ба дархостҳои ғайриоддӣ муроҷиат кунанд, на вебсайтҳо ва API-ҳои маъмул? Биёед бубинем:
Меҳвари X TTL аст, меҳвари Y маъруфияти дархост аст.
Мутаассифона, пурсишҳои маъмултарин инчунин барои кэш бадтарин мебошанд.
Биёед калонтар кунем:
Ҳукм: ин дар ҳақиқат бад аст. Пештар аллакай бад буд, аммо боз ҳам бадтар шуд. Кэшкунии DNS амалан бефоида шудааст. Азбаски шумораи ками одамон ҳалкунандаи DNS-и ISP-и худро истифода мебаранд (бо сабабҳои узрнок), афзоиши таъхир ба таври назаррас ба назар мерасад.
Кэшкунии DNS танҳо барои мундариҷае муфид шудааст, ки ҳеҷ кас намебинад.
Лутфан қайд кунед, ки нармафзор метавонад
Чаро ин тавр аст?
Чаро сабтҳои DNS ба чунин TTL паст гузошта шудаанд?
- Тавозуни сарбории кӯҳна бо танзимоти пешфарз боқӣ монданд.
- Мифҳо мавҷуданд, ки мувозинати сарбории DNS аз TTL вобаста аст (ин дуруст нест - аз рӯзҳои Netscape Navigator, муштариён аз маҷмӯи RR-ҳо суроғаи тасодуфии IP-ро интихоб кардаанд ва агар пайваст нашаванд, дигарашро шаффоф санҷиданд)
- Маъмурон мехоҳанд, ки тағиротро фавран татбиқ кунанд, бинобар ин нақша кардан осонтар аст.
- Администратори сервери DNS ё мувозинати сарборӣ вазифаи худро ҳамчун самаранок истифода бурдани конфигуратсияе, ки корбарон дархост мекунанд ва на суръатбахшии сайтҳо ва хидматҳо мебинад.
- TTL-ҳои паст ба шумо оромии рӯҳ медиҳанд.
- Одамон дар аввал TTL-ҳои пастро барои санҷиш муқаррар мекунанд ва сипас тағир додани онҳоро фаромӯш мекунанд.
Ман ба рӯйхат дохил накардам, ки "файлофот" -ро ба рӯйхат дохил накардам, зеро он торафт камтар аҳамият дорад. Агар ба шумо лозим ояд, ки корбаронро ба шабакаи дигар танҳо барои намоиш додани саҳифаи хатогӣ, вақте ки ҳама чизи дигар вайрон шудааст, равона кунед, таъхири зиёда аз 1 дақиқа эҳтимол қобили қабул аст.
Илова бар ин, як дақиқаи TTL маънои онро дорад, ки агар серверҳои бонуфузи DNS барои зиёда аз 1 дақиқа баста шаванд, ҳеҷ каси дигар наметавонад ба хидматҳои вобаста дастрасӣ дошта бошад. Ва зиёдатӣ кӯмак намекунад, агар сабаб хатои конфигуратсия ё ҳак бошад. Аз тарафи дигар, бо TTL-ҳои оқилона, бисёр муштариён конфигуратсияи қаблиро истифода мебаранд ва ҳеҷ гоҳ чизеро пай намебаранд.
Хидматҳои CDN ва мувозинатҳои сарборӣ барои паст будани TTLҳо асосан гунаҳкоранд, хусусан вақте ки онҳо CNAME-ро бо TTL-ҳои паст ва сабтҳоро бо TTL-ҳои баробар паст (вале мустақил) муттаҳид мекунанд:
$ drill raw.githubusercontent.com raw.githubusercontent.com. 9 IN CNAME github.map.fastly.net. github.map.fastly.net. 20 IN A 151.101.128.133 github.map.fastly.net. 20 IN A 151.101.192.133 github.map.fastly.net. 20 IN A 151.101.0.133 github.map.fastly.net. 20 IN A 151.101.64.133
Ҳар вақте ки мӯҳлати CNAME ё ягон сабти A ба охир мерасад, дархости нав бояд фиристода шавад. Ҳарду 30 сония TTL доранд, аммо ин якхела нест. Миёнаи воқеии TTL 15 сония хоҳад буд.
Аммо интизор шавед! Аз ин хам бадтар аст. Баъзе ҳалкунандаҳо дар ин вазъият бо ду TTL-и пасти алоқаманд хеле бад рафтор мекунанд:
$ пармакунӣ raw.githubusercontent.com @4.2.2.2 raw.githubusercontent.com. 1 ДАР CNAME github.map.fastly.net. github.map.fastly.net. 1 ДАР A 151.101.16.133
Resolver Level3 эҳтимолан дар BIND кор мекунад. Агар шумо фиристодани ин дархостро идома диҳед, TTL-и 1 ҳамеша баргардонида мешавад. Аслан, raw.githubusercontent.com
ҳеҷ гоҳ кэш карда намешавад.
Ин аст мисоли дигари чунин вазъият бо домени хеле маъмул:
$ drill detectportal.firefox.com @1.1.1.1 detectportal.firefox.com. 25 IN CNAME detectportal.prod.mozaws.net. detectportal.prod.mozaws.net. 26 IN CNAME detectportal.firefox.com-v2.edgesuite.net. detectportal.firefox.com-v2.edgesuite.net. 10668 IN CNAME a1089.dscd.akamai.net. a1089.dscd.akamai.net. 10 IN A 104.123.50.106 a1089.dscd.akamai.net. 10 IN A 104.123.50.88
Ҳадди ақал се сабти CNAME. Ай. Яке TTL-и арзанда дорад, аммо он комилан бефоида аст. Дигар CNAMEҳо дорои TTL-и ибтидоии 60 сония мебошанд, аммо барои доменҳо akamai.net
ҳадди TTL 20 сония аст ва ҳеҷ яке аз онҳо дар марҳила нест.
Дар бораи доменҳое, ки пайваста дастгоҳҳои Apple-ро пурсиш мекунанд, чӣ гуфтан мумкин аст?
$ drill 1-courier.push.apple.com @4.2.2.2 1-courier.push.apple.com. 1253 IN CNAME 1.courier-push-apple.com.akadns.net. 1.courier-push-apple.com.akadns.net. 1 IN CNAME gb-courier-4.push-apple.com.akadns.net. gb-courier-4.push-apple.com.akadns.net. 1 IN A 17.57.146.84 gb-courier-4.push-apple.com.akadns.net. 1 IN A 17.57.146.85
Мушкилоти якхелае, ки Firefox ва TTL ҳангоми истифодаи ҳалли Level1 аксар вақт дар 3 сония мемонанд.
Dropbox?
$ drill client.dropbox.com @8.8.8.8 client.dropbox.com. 7 ДАР CNAME client.dropbox-dns.com. client.dropbox-dns.com. 59 ДАР A 162.125.67.3 $ drill client.dropbox.com @4.2.2.2 client.dropbox.com. 1 ДАР CNAME client.dropbox-dns.com. client.dropbox-dns.com. 1 ДАР A 162.125.64.3
Дар сабт safebrowsing.googleapis.com
Арзиши TTL 60 сония аст, ба монанди доменҳои Facebook. Ва боз, аз нуқтаи назари муштарӣ, ин арзишҳо ду маротиба кам карда мешаванд.
Дар бораи муқаррар кардани ҳадди ақали TTL чӣ гуфтан мумкин аст?
Бо истифода аз ном, намуди дархост, TTL ва тамғаи вақти дар аввал нигоҳ дошташуда, ман скрипт навиштам, то 1,5 миллион дархостеро, ки тавассути ҳалли кэш мегузаранд, тақлид кунад, то ҳаҷми дархостҳои нолозимро, ки бо сабаби гузаштани вуруди кэш фиристода шудааст, ҳисоб кунад.
47,4% дархостҳо пас аз гузаштани мӯҳлати сабти мавҷуда дода шудаанд. Ин беасос баланд аст.
Агар ҳадди ақали TTL муқаррар карда шавад, ба кэш чӣ таъсир хоҳад дошт?
Меҳвари X ҳадди ақали арзишҳои TTL мебошад. Сабтҳое, ки TTL-ҳои сарчашма болотар аз ин арзиш таъсир намерасонанд.
Меҳвари Y фоизи дархостҳои муштарӣ мебошад, ки аллакай сабти кэш дорад, аммо мӯҳлати он гузаштааст ва дархости нав пешниҳод мекунад.
Ҳиссаи дархостҳои "иловагӣ" бо танҳо муқаррар кардани ҳадди ақали TTL то 47 дақиқа аз 36% то 5% кам карда мешавад. Бо муқаррар кардани ҳадди ақали TTL то 15 дақиқа, шумораи ин дархостҳо то 29% коҳиш меёбад. Ҳадди ақали TTL 1 соат онҳоро то 17% коҳиш медиҳад. Фарқияти назаррас!
Дар бораи тағир додани чизе дар тарафи сервер, балки ба ҷои он ки ҳадди ақали TTL дар кэшҳои муштарии DNS (роутерҳо, ҳалкунандаҳои маҳаллӣ) муқаррар кунед?
Шумораи дархостҳои зарурӣ аз 47% то 34% бо ҳадди ақали TTL 5 дақиқа, то 25% бо ҳадди аққал 15 дақиқа ва то 13% бо ҳадди аққал 1 соат коҳиш меёбад. Эҳтимол, 40 дақиқа беҳтарин аст.
Таъсири ин тағйироти хурд хеле бузург аст.
Оқибатҳо чӣ гунаанд?
Албатта, хидмат метавонад ба провайдери нави абрӣ, сервери нав, шабакаи нав интиқол дода шавад, ки аз муштариён истифода бурдани сабтҳои охирини DNS-ро талаб мекунад. Ва як TTL хеле хурд кӯмак мекунад, ки чунин гузариш осонтар ва ноаён анҷом дода шавад. Аммо бо гузариш ба инфрасохтори нав, ҳеҷ кас интизор нест, ки муштариён дар тӯли 1 дақиқа, 5 дақиқа ё 15 дақиқа ба сабтҳои нави DNS кӯч диҳанд. Муқаррар кардани ҳадди ақали TTL ба ҷои 40 дақиқа то 5 дақиқа аз дастрасии корбарон ба хидмат монеъ намешавад.
Бо вуҷуди ин, ин таъхирро ба таври назаррас коҳиш медиҳад ва махфият ва эътимодро тавассути пешгирӣ кардани дархостҳои нолозим беҳтар мекунад.
Албатта, RFCҳо мегӯянд, ки TTL бояд ба таври қатъӣ риоя карда шавад. Аммо воқеият ин аст, ки системаи DNS хеле бесамар шудааст.
Агар шумо бо серверҳои бонуфузи DNS кор карда истода бошед, лутфан TTL-ҳои худро санҷед. Оё дар ҳақиқат ба шумо чунин арзишҳои хандаовар паст лозим аст?
Албатта, барои гузоштани TTLҳои хурд барои сабтҳои DNS сабабҳои хуб мавҷуданд. Аммо на барои 75% трафики DNS, ки амалан бетағйир боқӣ мемонад.
Ва агар бо ягон сабаб ба шумо дар ҳақиқат лозим аст, ки TTL-ҳои пастро барои DNS истифода баред, ҳамзамон боварӣ ҳосил кунед, ки сайти шумо кэшро фаъол накардааст. Бо хамин сабабхо.
Агар шумо кэши маҳаллии DNS-ро иҷро кунед, масалан
Манбаъ: will.com