Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

TTL a cache

Modul 6: Čas, cache a převod domény · Doba čtení: 7 min

Cíl lekce: Po této lekci dokážete vysvětlit, co je TTL záznamu, jak jej cache využívají a jakou hodnotu TTL zvolit v jaké situaci.

Klíčové pojmy: TTL (Time To Live), cache, cache resolveru, cache Vašeho počítače a prohlížeče, ubíhající TTL, typické hodnoty TTL (300, 3600, 86400)

Proč si DNS pamatuje

V lekci 1.4 jste viděli, jak resolver vyhledává odpověď: nejprve u kořenového serveru, pak u serveru TLD a nakonec u autoritativního jmenného serveru domény. Kdyby se to muselo opakovat při každém kliknutí na web, internet by byl výrazně pomalejší a jmenné servery by se hroutily pod náporem dotazů.

Proto si resolvery každou odpověď na nějakou dobu pamatují. Této paměti se říká cache. Pokud se na stejný název zeptá někdo jiný, resolver odpoví rovnou ze své cache, bez nutnosti celou cestu zopakovat.

Otázka zní: jak dlouho smí resolver odpověď pamatovat? To určuje vlastník domény pomocí TTL každého záznamu.

Co je TTL

TTL znamená Time To Live: dobu, po kterou smí záznam zůstat v cache, v sekundách. Každý záznam má svou vlastní TTL. V zóně to vypadá takto:

example.com.        3600   IN  A     192.0.2.10
www.example.com.    3600   IN  A     192.0.2.10
example.com.        3600   IN  MX    10 mail.example.com.
_dmarc.example.com. 14400  IN  TXT   "v=DMARC1; p=quarantine"

Číslo za názvem je TTL. Zde smí být záznamy A a MX uchovány hodinu (3600 sekund) a záznam DMARC čtyři hodiny (14400 sekund).

Běžné hodnoty:

TTLJeKdy ji použít?
3005 minutTěsně před a během převodu, nebo pokud často měníte hodnoty
36001 hodinaDobrý standard pro většinu záznamů
144004 hodinyZáznamy, které se mění jen zřídka
864001 denZáznamy, které se mění téměř nikdy, jako jsou záznamy NS

TTL je číslo mezi 0 a 2 147 483 647 sekundami (2^31 - 1, jak uvádí RFC 2181). V praxi se jen zřídka setkáte s hodnotou vyšší než den nebo dva. Mnoho resolverů navíc uplatňuje vlastní maximum, často den nebo týden.

Odpočítávání

TTL není pevné hodiny platné pro celý svět. Každý resolver začíná počítat až od okamžiku, kdy si záznam vyžádá.

Příklad. Záznam A domény example.com má TTL 3600.

  • V 10:00 si resolver poskytovatele A vyžádá záznam. Dostane 192.0.2.10 a smí si jej pamatovat do 11:00.
  • V 10:40 si jej vyžádá resolver poskytovatele B. Ten si jej pamatuje do 11:40.
  • V 10:45 změníte záznam na 198.51.100.10.
  • Uživatelé poskytovatele A uvidí novou adresu od 11:00, uživatelé poskytovatele B až od 11:40.

Pokud si záznam vyžádáte u resolveru, který jej už má v cache, uvidíte ve výstupu TTL, která postupně klesá. U autoritativního jmenného serveru vždy uvidíte plnou hodnotu:

; u autoritativního jmenného serveru
example.com.   3600   IN  A  192.0.2.10

; u resolveru, o 25 minut později
example.com.   2100   IN  A  192.0.2.10

To se hodí vědět: pokud u svého resolveru vidíte hodnotu 2100 sekund, znamená to, že ještě 35 minut bude poskytovat starou odpověď.

Kdo všechno si pamatuje

Cache nemá jen resolver Vašeho poskytovatele internetu. Existuje více vrstev:

  1. Resolver Vašeho poskytovatele, firemní sítě nebo veřejný resolver (například 1.1.1.1, 8.8.8.8 nebo 9.9.9.9).
  2. Váš router doma nebo v kanceláři, který často sám funguje jako malý resolver.
  3. Operační systém Vašeho počítače nebo telefonu.
  4. Váš prohlížeč, který si DNS odpovědi někdy také na chvíli ukládá.

Každá vrstva se v zásadě řídí TTL, ale ne každá to dělá úplně přesně. Proto to u Vás na notebooku může trvat o něco déle než u kolegy. Jak tyto cache vymazat, se dočtete v lekci 6.2.

Jak zvolit správnou TTL

Krátká TTL se zdá praktická: změny jsou pak rychle vidět všude. Má to ale nevýhodu. Resolvery pak musí záznam mnohem častěji znovu dotazovat. To o kousek zpomalí první načtení Vašeho webu, a pokud jsou Vaše jmenné servery chvíli nedostupné, Vaše doména bude nedostupná rychleji. S TTL jedné hodiny dokážou resolvery krátký výpadek jmenného serveru překlenout pomocí své cache.

Několik základních pravidel:

  • Standard: 3600 sekund. To je dobrá rovnováha.
  • Pro plánovanou změnu: dočasně 300. Snižte TTL minimálně o jednu starou TTL dříve, než ke změně dojde. Pokud bylo nastaveno 3600, udělejte to minimálně hodinu předem, bezpečněji den předem. Pokud bylo nastaveno 86400, udělejte to minimálně den předem. Po změně TTL vraťte zpět. Jak na to při převodu domény, se dočtete v lekci 6.3.
  • Hodnota nižší než 60 sekund nemá velký smysl. Některé resolvery velmi krátké TTL ignorují a uplatňují vlastní minimum.
  • Snížení TTL začne fungovat až po uplynutí staré TTL. Pokud snížíte TTL z 86400 na 300 a hned poté změníte adresu, resolvery, které si záznam právě stáhly, budou mít starou hodnotu ještě celý den.

Tento poslední bod je nejčastější chybou při práci s TTL. Nová, krátká TTL se musí nejprve sama dostat do všech cache.

V praxi: jak to vypadá v panelu

Ve vzorovém panelu DirectAdmin je TTL samostatný sloupec v sekci DNS. TTL jednoho záznamu změníte ikonou tužky u daného záznamu. Tlačítkem TTL WAARDE OVERSCHRIJVEN nastavíte jednu TTL pro všechny záznamy domény najednou. V Můj WebOké vidíte TTL v seznamu záznamů na záložce DNS a vybíráte ji v okně, kde záznam přidáváte nebo upravujete.

Ostatní panely fungují obdobně: u cPanelu, Plesku, Cloudflare i u většiny registrátorů se pole také jmenuje TTL. Někdy vybíráte z nabídky (například "5 minut", "1 hodina", "Auto") místo zadávání čísla v sekundách. U Cloudflare znamená "Auto" u záznamů bez proxy 300 sekund.

Shrnutí

  • TTL určuje, kolik sekund smí DNS odpověď zůstat v cache.
  • Každý resolver počítá od okamžiku, kdy si záznam vyžádal; proto změnu nevidí všichni ve stejnou chvíli.
  • U autoritativního jmenného serveru vidíte plnou TTL, u resolveru ubývající hodnotu.
  • 3600 je dobrý standard; před plánovanou změnou dočasně snižte na 300, a to minimálně o jednu starou TTL dříve.

Kvíz

1. Záznam má TTL 300. Co to znamená?



2. Vyžádáte si záznam A domény u resolveru svého poskytovatele a vidíte TTL 1250. U autoritativního jmenného serveru je uvedeno 3600. Co to znamená?



3. Zítra v 9:00 chcete nasměrovat svůj web na jiný server. Záznam A má nyní TTL 86400. Co je rozumné udělat?



4. Proč není velmi krátká TTL (například 30 sekund) u všech Vašich záznamů dobrý nápad?



Úkol

Úkol Z6.1: TTL u zdroje a u resolveru. Pomocí online nástroje DNS nebo pomocí dig zjistěte TTL záznamu A domény sidn.nl (webu SIDN, registru domény .nl v Nizozemsku), přímo u jednoho z jmenných serverů domény sidn.nl (například ns1.sidn.nl). Zadejte TTL v sekundách. Poté si vyžádejte stejný záznam u veřejného resolveru a vyplňte i tuto TTL. Jednou větou vysvětlete, proč se obě čísla mohou lišit.

dig A sidn.nl @ns1.sidn.nl
dig A sidn.nl @9.9.9.9

Úkol Z6.1: TTL u zdroje a u resolveru




Co vyplníte a co zjistíme online, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, uložíme pouze informaci, že jste úkol měli (téměř) správně, v Moje kurzy; tam to také můžete odstranit.

Úkol O6.1: Nastavení ve vlastní cvičné zóně. Ve Vaší cvičné zóně <code>.dnspractice.eu už existuje záznam A ttl-test.<code>.dnspractice.eu, který ukazuje na 192.0.2.61, s TTL 300 sekund. Snižte TTL na 60 sekund, jak byste to udělali před převodem domény, a adresu ponechte beze změny. Poté pomocí dig u jmenného serveru cvičné zóny zkontrolujte, zda je nastavena nová TTL. Odevzdejte, jakmile je TTL 60.

Cvičná zóna používá krátké TTL (mezi 30 a 300 sekundami), abyste nemuseli čekat; u své skutečné domény použijete například 3600 jako standard a 300 těsně před změnou.

Úkol O6.1

Tento úkol vypracujete ve své vlastní cvičné zóně: skutečné DNS zóně na jmenných serverech WebOké, určené pouze pro Vás. Přihlaste se svou e-mailovou adresou. Odkaz pro přihlášení obdržíte e-mailem a poté se vrátíte zpět na tuto lekci. Vaši adresu používáme pouze pro potřeby kurzu.

Doporučené čtení

Kroky v těchto článcích se týkají panelů WebOké; v jiných panelech je postup obdobný.

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…