Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Вақти пасти DNS калиди дидани босуръати интернет аст. Барои кам кардани он, муҳим аст, ки бодиққат интихоб кардани серверҳои DNS ва релеи беимзо. Аммо қадами аввал аз пурсишҳои бефоида халос шудан аст.

Ин аст, ки чаро DNS дар ибтидо ҳамчун як протоколи хеле кэшшаванда тарҳрезӣ шуда буд. Маъмурони минтақа барои вурудоти инфиродӣ вақти зиндагӣ (TTL) муқаррар мекунанд ва ҳалкунандаҳо ин маълумотро ҳангоми нигоҳ доштани сабтҳо дар хотира барои пешгирӣ кардани трафики нолозим истифода мебаранд.

Оё кэш самаранок аст? Якчанд сол пеш, тадқиқоти хурди ман нишон дод, ки он комил нест. Биёед ба вазъияти хозираи кор назар андозем.

Барои ҷамъоварии маълумот ман часпондам Сервери рамзгузоришудаи DNS барои захира кардани арзиши TTL барои посух. Он ҳамчун ҳадди ақали TTL сабтҳои он барои ҳар як дархости воридотӣ муайян карда мешавад. Ин шарҳи хуби тақсимоти TTL-и трафики воқеиро медиҳад ва инчунин маъруфияти дархостҳои инфиродӣ ба инобат мегирад. Версияи часпакшудаи сервер чанд соат кор кард.

Маҷмӯи маълумоти натиҷавӣ аз 1 сабт иборат аст (ном, навъи q, TTL, тамғаи вақт). Ин аст тақсимоти умумии TTL (меҳвари X TTL дар сонияҳо):

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Ба ғайр аз зарбаи ночиз дар 86 (асосан барои сабтҳои SOA), равшан аст, ки TTLҳо дар доираи паст қарор доранд. Биёед бодиққат назар кунем:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Хуб, TTLҳо аз 1 соат зиёд аз ҷиҳати оморӣ аҳамият надоранд. Пас биёед ба диапазони 0−3600 тамаркуз кунем:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Аксарияти TTLҳо аз 0 то 15 дақиқа мебошанд:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Аксарияти мутлақи онҳо аз 0 то 5 дақиқа мебошанд:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Ин хеле хуб нест.

Тақсимоти ҷамъӣ мушкилотро боз ҳам равшантар мекунад:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Нисфи ҷавобҳои DNS дорои TTL 1 дақиқа ё камтар ва аз чор се ҳиссаи TTL 5 дақиқа ё камтар аст.

Аммо мунтазир бошед, дар асл ин бадтар аст. Дар ниҳоят, ин TTL аз серверҳои бонуфуз аст. Бо вуҷуди ин, ҳалкунандаҳои муштарӣ (масалан, роутерҳо, кэшҳои маҳаллӣ) аз ҳалкунандаҳои болоӣ TTL мегиранд ва он ҳар сония коҳиш меёбад.

Ҳамин тавр, муштарӣ воқеан метавонад ҳар як вурудро ба ҳисоби миёна нисфи TTL-и аслӣ пеш аз фиристодани дархости нав истифода барад.

Шояд ин TTL-ҳои хеле паст танҳо ба дархостҳои ғайриоддӣ муроҷиат кунанд, на вебсайтҳо ва API-ҳои маъмул? Биёед бубинем:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Меҳвари X TTL аст, меҳвари Y маъруфияти дархост аст.

Мутаассифона, пурсишҳои маъмултарин инчунин барои кэш бадтарин мебошанд.

Биёед калонтар кунем:

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Ҳукм: ин дар ҳақиқат бад аст. Пештар аллакай бад буд, аммо боз ҳам бадтар шуд. Кэшкунии DNS амалан бефоида шудааст. Азбаски шумораи ками одамон ҳалкунандаи DNS-и ISP-и худро истифода мебаранд (бо сабабҳои узрнок), афзоиши таъхир ба таври назаррас ба назар мерасад.

Кэшкунии DNS танҳо барои мундариҷае муфид шудааст, ки ҳеҷ кас намебинад.

Лутфан қайд кунед, ки нармафзор метавонад дар роҳҳои гуногун TTL-ҳои пастро шарҳ диҳед.

Чаро ин тавр аст?

Чаро сабтҳои 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 муқаррар карда шавад, ба кэш чӣ таъсир хоҳад дошт?

Истифодаи TTL-и хандаовар пастро барои DNS қатъ кунед

Меҳвари X ҳадди ақали арзишҳои TTL мебошад. Сабтҳое, ки TTL-ҳои сарчашма болотар аз ин арзиш таъсир намерасонанд.

Меҳвари Y фоизи дархостҳои муштарӣ мебошад, ки аллакай сабти кэш дорад, аммо мӯҳлати он гузаштааст ва дархости нав пешниҳод мекунад.

Ҳиссаи дархостҳои "иловагӣ" бо танҳо муқаррар кардани ҳадди ақали TTL то 47 дақиқа аз 36% то 5% кам карда мешавад. Бо муқаррар кардани ҳадди ақали TTL то 15 дақиқа, шумораи ин дархостҳо то 29% коҳиш меёбад. Ҳадди ақали TTL 1 соат онҳоро то 17% коҳиш медиҳад. Фарқияти назаррас!

Дар бораи тағир додани чизе дар тарафи сервер, балки ба ҷои он ки ҳадди ақали TTL дар кэшҳои муштарии DNS (роутерҳо, ҳалкунандаҳои маҳаллӣ) муқаррар кунед?

Истифодаи 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-ро иҷро кунед, масалан dnscrypt-проксики ба шумо имкон медиҳад, ки ҳадди ақали TTL-ро муқаррар кунед, ин функсияро истифода баред. Ин хуб аст. Ҳеҷ чизи бад рӯй нахоҳад дод. Ҳадди ақали TTL-ро ба тақрибан 40 дақиқа (2400 сония) ва 1 соат таъин кунед. Диапазони хеле оқилона.

Манбаъ: will.com