E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ka latency DNS haʻahaʻa ke kī i ka ʻimi pūnaewele wikiwiki. No ka hoʻohaʻahaʻaʻana, he mea nui e koho pono i nā kikowaena DNS a nā mea hoʻolele inoa ʻole. Akā ʻo ka hana mua e hoʻopau i nā nīnau pono ʻole.

ʻO kēia ke kumu i hoʻolālā mua ʻia ai ʻo DNS ma ke ʻano he protocol cacheable loa. Hoʻonohonoho nā luna hoʻomalu i kahi manawa e ola ai (TTL) no nā hoʻokomo pākahi, a hoʻohana nā mea hoʻoholo i kēia ʻike i ka wā e mālama ai i nā mea komo i loko o ka hoʻomanaʻo e pale aku ai i ke kaʻa pono ʻole.

He kūpono anei ka hoʻopaʻa ʻana? I kekahi mau makahiki i hala aku nei, ua hōʻike kaʻu noiʻi liʻiliʻi ʻaʻole i kūpono. E nānā kākou i ke kūlana o kēia wā.

No ka hōʻiliʻili ʻana i ka ʻike aʻu i paʻi ai Hoʻopili ʻia ke kikowaena DNS e mālama i ka waiwai TTL no ka pane. Ua wehewehe ʻia ʻo ia ka TTL liʻiliʻi loa o kāna mau moʻolelo no kēlā me kēia noi e hiki mai ana. Hāʻawi kēia i kahi hiʻohiʻona maikaʻi o ka puʻunaue TTL o nā kaʻa maoli, a noʻonoʻo pū i ka kaulana o nā noi pilikino. Hoʻohana ʻia ka mana paʻi o ke kikowaena no kekahi mau hola.

He 1 mau mooolelo (inoa, qtype, TTL, timestamp). Eia ka mahele TTL holoʻokoʻa (X-axis ʻo TTL i kekona):

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

Ma waho aʻe o kahi puʻupuʻu liʻiliʻi ma 86 (ka hapa nui no nā moʻolelo SOA), maopopo loa aia nā TTL i ka pae haʻahaʻa. E nānā pono kākou:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻAe, ʻaʻole koʻikoʻi nā TTL ma mua o 1 hola. A laila, e nānā kākou i ka laulā 0−3600:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ka hapa nui o nā TTL mai 0 a 15 mau minuke:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ka hapa nui mai 0 a 5 mau minuke:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻAʻole maikaʻi loa.

ʻOi aku ka maopopo o ka pilikia:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

Loaʻa ka hapalua o nā pane DNS i ka TTL o 1 mau minuke a i ʻole, a ʻekolu hapahā he TTL o 5 mau minuke a i ʻole.

Akā e kali, ʻoi aku ka ʻino. Ma hope o nā mea a pau, ʻo TTL kēia mai nā kikowaena mana. Eia nō naʻe, loaʻa i nā mea hoʻonā mea kūʻai aku (e laʻa, nā mea hoʻokele, nā huna huna kūloko) i kahi TTL mai nā mea hoʻonā upstream, a e emi ana i kēlā me kēia kekona.

No laila hiki i ka mea kūʻai ke hoʻohana i kēlā me kēia helu no ka hapalua o ka TTL mua ma mua o ka hoʻouna ʻana i kahi noi hou.

Pili paha kēia mau TTL haʻahaʻa loa i nā noi maʻamau a ʻaʻole i nā punaewele kaulana a me nā API? E nānā kākou:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ke koʻi X ka TTL, ʻo ke koʻi Y ka mea kaulana i ka nīnau.

ʻO ka mea pōʻino, ʻo nā nīnau kaulana loa ka mea ʻino loa i ka hūnā.

E hoʻonui kākou:

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ka ʻōlelo hoʻoholo: ʻino loa. Ua ʻino ma mua, akā ua ʻoi aku ka ʻino. Ua lilo ʻo DNS cache i mea ʻole. I ka liʻiliʻi o ka poʻe e hoʻohana ana i kā lākou ISP's DNS resolver (no nā kumu maikaʻi), ʻike ʻia ka piʻi ʻana o ka latency.

Ua lilo ʻo DNS cache i mea pono wale no ka ʻike i kipa ʻole ʻia e kekahi.

E ʻoluʻolu e hoʻomaopopo hoʻi hiki i ka polokalamu ma nā ʻano like ʻole unuhi i nā TTL haʻahaʻa.

No ke aha?

No ke aha i hoʻonohonoho ʻia ai nā moʻolelo DNS i kahi TTL haʻahaʻa?

  • Ua waiho ʻia nā mea kaulike hoʻoilina me nā hoʻonohonoho paʻamau.
  • Aia kekahi mau moʻolelo e pili ana ka hoʻohālikelike ʻana o DNS ma TTL (ʻaʻole ʻoiaʻiʻo kēia - mai nā lā o Netscape Navigator, ua koho nā mea kūʻai aku i kahi leka uila IP mai kahi pūʻulu o RRs a hoʻāʻo maopopo i kahi ʻē aʻe inā ʻaʻole hiki iā lākou ke hoʻopili)
  • Makemake nā luna e hoʻopili koke i nā loli, no laila e maʻalahi ka hoʻolālā.
  • ʻIke ka luna hoʻomalu o kahi kikowaena DNS a i ʻole ka mea hoʻohālikelike ukana i kāna hana e like me ka hoʻonohonoho pono ʻana i ka hoʻonohonoho i noi ʻia e nā mea hoʻohana, a ʻaʻole wikiwiki i nā pūnaewele a me nā lawelawe.
  • Hāʻawi nā TTL haʻahaʻa iā ʻoe i ka maluhia o ka noʻonoʻo.
  • Ua hoʻonohonoho mua nā kānaka i nā TTL haʻahaʻa no ka hoʻāʻo ʻana a laila poina e hoʻololi iā lākou.

ʻAʻole au i hoʻokomo i ka "failover" i ka papa inoa no ka mea e emi ana ka pili. Inā pono ʻoe e hoʻihoʻi hou i nā mea hoʻohana i kahi pūnaewele ʻē aʻe e hōʻike i kahi ʻaoʻao hewa i ka wā i haki ʻia ai nā mea ʻē aʻe, hiki ke ʻae ʻia ka lōʻihi o ka 1 mau minuke.

Hoʻohui hou, ʻo ka TTL hoʻokahi minuke, ʻo ia hoʻi, inā paʻa ʻia nā kikowaena DNS mana i ʻoi aku ma mua o 1 mau minuke, ʻaʻohe mea ʻē aʻe e hiki ke komo i nā lawelawe hilinaʻi. ʻAʻole kōkua ka redundancy inā he hewa hoʻonohonoho a hack paha ke kumu. Ma ka lima ʻē aʻe, me nā TTL kūpono, e hoʻomau nā mea kūʻai aku e hoʻohana i ka hoʻonohonoho mua a ʻaʻole ʻike i kekahi mea.

ʻO nā lawelawe CDN a me nā mea kaulike ukana ʻo ia ka hapa nui no nā TTL haʻahaʻa, ʻoi aku ka nui o ka wā e hui pū ai lākou i nā CNAME me nā TTL haʻahaʻa a me nā moʻolelo me nā TTL like haʻahaʻa (akā kūʻokoʻa):

$ 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

Ke pau ka CNAME a i ʻole kekahi o nā moʻolelo A, pono e hoʻouna ʻia kahi noi hou. Loaʻa iā lāua he 30 kekona TTL, akā ʻaʻole like. ʻO ka awelika TTL maoli he 15 kekona.

Akā e kali! ʻOi aku ka ʻino. Hana ʻino loa kekahi poʻe hoʻoholo i kēia kūlana me ʻelua mau TTL haʻahaʻa e pili ana:

$ drill raw.githubusercontent.com @4.2.2.2 raw.githubusercontent.com. 1 MA CNAME github.map.fastly.net. github.map.fastly.net. 1 IN A 151.101.16.133

Holo paha ka mea hoʻonā Level3 ma BIND. Inā hoʻomau ʻoe e hoʻouna i kēia noi, e hoʻihoʻi mau ʻia kahi TTL o 1. ʻO ka mea nui, raw.githubusercontent.com ʻaʻole i hūnā ʻia.

Eia kekahi laʻana o ia kūlana me kahi kikowaena kaulana loa:

$ 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

Ma kahi o ʻekolu mau moʻolelo CNAME. ʻAe. Loaʻa i kekahi TTL maikaʻi, akā ʻaʻole pono. Loaʻa i nā CNAME ʻē aʻe kahi TTL mua o 60 kekona, akā no nā kāʻei kua akamai.net ʻo ka TTL kiʻekiʻe he 20 kekona a ʻaʻohe o lākou i ka pae.

Pehea e pili ana i nā kāʻei kapu e koho mau ana i nā polokalamu 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

ʻO ka pilikia like me Firefox a me TTL e paʻa i ka 1 kekona i ka hapa nui o ka manawa ke hoʻohana nei i ka hoʻonā Level3.

Dropbox?

$ drill client.dropbox.com @8.8.8.8 client.dropbox.com. 7 IN CNAME client.dropbox-dns.com. client.dropbox-dns.com. 59 IN A 162.125.67.3 $ drill client.dropbox.com @4.2.2.2 client.dropbox.com. 1 MA CNAME client.dropbox-dns.com. client.dropbox-dns.com. 1 IN A 162.125.64.3

Ma ka hoʻopaʻa ʻana safebrowsing.googleapis.com ʻO ka waiwai TTL he 60 kekona, e like me nā kāʻei kapu Facebook. A, eia hou, mai ka manaʻo o ka mea kūʻai aku, ua ʻoki ʻia kēia mau waiwai.

Pehea e hoʻonohonoho ai i kahi TTL liʻiliʻi?

Ke hoʻohana nei i ka inoa, ke ʻano noi, TTL, a me ka timestamp i mālama mua ʻia, ua kākau wau i kahi palapala e hoʻohālikelike i nā noi 1,5 miliona e hele ana i kahi hoʻonā caching e hoʻohālikelike i ka nui o nā noi pono ʻole i hoʻouna ʻia ma muli o ke komo ʻana i ka cache i pau.

47,4% o nā noi i hana ʻia ma hope o ka pau ʻana o kahi moʻolelo. He kiʻekiʻe ʻole kēia.

He aha ka hopena i ka hoʻokomo ʻana inā hoʻonohonoho ʻia ka TTL liʻiliʻi?

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ke koʻi X ka helu TTL liʻiliʻi loa. ʻAʻole pili nā moʻolelo me nā kumu TTL ma luna o kēia waiwai.

ʻO ke koʻi Y ka pākēneka o nā noi mai ka mea kūʻai aku i loaʻa i kahi hoʻokomo huna, akā ua hoʻopau ʻia a ke hana nei i kahi noi hou.

Hoʻemi ʻia ka mahele o nā noi "keu" mai 47% a i 36% ma ka hoʻonohonoho ʻana i ka TTL liʻiliʻi i 5 mau minuke. Ma ka hoʻonohonoho ʻana i ka TTL liʻiliʻi i 15 mau minuke, hāʻule ka helu o kēia mau noi i 29%. ʻO ka liʻiliʻi loa o ka TTL o 1 hola e hōʻemi iā lākou i 17%. ʻOkoʻa nui!

Pehea e hoʻololi ʻole ai i kekahi mea ma ka ʻaoʻao kikowaena, akā e hoʻonohonoho i ka TTL liʻiliʻi i nā cache DNS o ka mea kūʻai aku (nā ala, nā mea hoʻonā kūloko)?

E kāpae i ka hoʻohana ʻana i ka TTL haʻahaʻa haʻahaʻa no DNS

ʻO ka helu o nā noi i koi ʻia e hāʻule mai 47% a i 34% me ka liʻiliʻi TTL o 5 mau minuke, i 25% me ka liʻiliʻi o 15 mau minuke, a i ka 13% me ka liʻiliʻi o 1 hola. ʻO 40 mau minuke ka maikaʻi loa.

Nui ka hopena o kēia hoʻololi liʻiliʻi.

He aha nā hopena?

ʻOiaʻiʻo, hiki ke hoʻoneʻe ʻia ka lawelawe i kahi mea hoʻolako kapua hou, server hou, pūnaewele hou, e koi ana i nā mea kūʻai aku e hoʻohana i nā moʻolelo DNS hou. A ʻo kahi TTL liʻiliʻi liʻiliʻi e kōkua i ka hoʻololi ʻana me ka maʻalahi a me ka ʻike ʻole. Akā me ka hoʻololi ʻana i nā ʻōnaehana hou, ʻaʻohe mea e manaʻo e neʻe nā mea kūʻai aku i nā moʻolelo DNS hou i loko o 1 mau minuke, 5 mau minuke, a i ʻole 15 mau minuke. ʻO ka hoʻonohonoho ʻana i ka TTL liʻiliʻi i 40 mau minuke ma kahi o 5 mau minuke ʻaʻole ia e pale i nā mea hoʻohana mai ke komo ʻana i ka lawelawe.

Eia naʻe, e hōʻemi nui kēia i ka latency a hoʻomaikaʻi i ka pilikino a me ka hilinaʻi ma ka pale ʻana i nā noi pono ʻole.

ʻOiaʻiʻo, ʻōlelo ka RFC e pono e hahai pono ʻia ʻo TTL. Akā ʻo ka ʻoiaʻiʻo ua lilo ka ʻōnaehana DNS i mea ʻole.

Inā ʻoe e hana nei me nā kikowaena DNS mana, e ʻoluʻolu e nānā i kāu TTL. Pono ʻoe i nā waiwai haʻahaʻa haʻahaʻa?

ʻOiaʻiʻo, aia nā kumu maikaʻi e hoʻonohonoho i nā TTL liʻiliʻi no nā moʻolelo DNS. ʻAʻole naʻe no ka 75% o nā kaʻa DNS i noho ʻole ʻia.

A inā no kekahi kumu pono ʻoe e hoʻohana i nā TTL haʻahaʻa no DNS, i ka manawa like e hōʻoia i ka hiki ʻole o kāu pūnaewele i ka caching. No nā kumu like.

Inā loaʻa iā ʻoe kahi cache DNS kūloko e holo ana, e like me dnscrypt-proxyhiki iā ʻoe ke hoʻonohonoho i nā TTL liʻiliʻi, e hoʻohana i kēia hana. Maikaʻi kēia. ʻAʻohe mea ʻino. E hoʻonoho i ka TTL liʻiliʻi ma kahi o 40 mau minuke (2400 kekona) a me 1 hola. He laulā kūpono.

Source: www.habr.com