--- id: wiki-2026-0508-time-to-interactive-tti title: Time to Interactive (TTI) category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Time to Interactive (TTI)|Time to Interactive (TTI]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) Time to Interactive (TTI)๋Š” ์‚ฌ์šฉ์ž์˜ ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ์š”์ฒญ(DNS ์กฐํšŒ ๋ฐ TCP ์—ฐ๊ฒฐ) ์‹œ์ ๋ถ€ํ„ฐ ์›น ํŽ˜์ด์ง€๊ฐ€ 50ms ์ด๋‚ด์— ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜๋Š” ์„ฑ๋Šฅ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค [1]. ์‹œ๊ฐ์ ์ธ ์ฝ˜ํ…์ธ ๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, ํ•„์š”ํ•œ [[JavaScript|JavaScript]]๊ฐ€ ๋ชจ๋‘ ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์‹คํ–‰๋˜์–ด ๋ฒ„ํŠผ ํด๋ฆญ ๋“ฑ์˜ ์ž…๋ ฅ์— ์ฆ‰๊ฐ์ ์œผ๋กœ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [1, 2]. ํŠนํžˆ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR) ํ™˜๊ฒฝ์—์„œ๋Š” ํ™”๋ฉด์ด ๋จผ์ € ๋ณด์ด์ง€๋งŒ JavaScript๊ฐ€ ์—ฐ๊ฒฐ([[Hydration|Hydration]])๋  ๋•Œ๊นŒ์ง€ ์ƒํ˜ธ์ž‘์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ง€์—ฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ TTI ์ตœ์ ํ™”๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค [2, 3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **TTI์˜ ์ •์˜์™€ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ์—ญํ• :** TTI๋Š” ํŽ˜์ด์ง€์˜ [[First Contentful Paint (FCP)|First Contentful Paint (FCP]] ์ดํ›„, ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ(์Šคํฌ๋กค, ํ„ฐ์น˜ ๋“ฑ)์— 50ms ์ด๋‚ด๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์‹œ์ ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค [1]. ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ JavaScript๋ฅผ ํŒŒ์‹ฑ, ์ปดํŒŒ์ผ, ์‹คํ–‰ํ•˜๋А๋ผ ์ ์œ ๋˜์–ด ์žˆ๋‹ค๋ฉด, ํŽ˜์ด์ง€๋Š” ์‹œ๊ฐ์ ์œผ๋กœ ์™„์„ฑ๋˜์—ˆ๋”๋ผ๋„ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค [1, 4]. * **SSR(Server-Side Rendering)๊ณผ Hydration์— ๋”ฐ๋ฅธ TTI ์ง€์—ฐ:** SSR์€ ์„œ๋ฒ„์—์„œ ๋ฏธ๋ฆฌ ๋ Œ๋”๋ง๋œ HTML์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ดˆ๊ธฐ ์ฝ˜ํ…์ธ  ํ‘œ์‹œ(FCP)๊ฐ€ ๋น ๋ฅด์ง€๋งŒ, TTI ์ธก๋ฉด์—์„œ๋Š” ๋ถˆ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 3, 5]. ํ™”๋ฉด์˜ ์š”์†Œ๊ฐ€ ํด๋ฆญ ๊ฐ€๋Šฅํ•ด ๋ณด์ด๋”๋ผ๋„, JavaScript ๋ฒˆ๋“ค์ด ๋‹ค์šด๋กœ๋“œ๋˜๊ณ  ์ •์  HTML์— ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์™€ ์ƒํƒœ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” 'Hydration' ๊ณผ์ •์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€๋Š” ๋ฐ˜์‘ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค [2, 3, 6]. JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ๊ฐ€ ํฌ๊ฑฐ๋‚˜ ๊ธฐ๊ธฐ ์„ฑ๋Šฅ์ด ๋‚ฎ์„ ๊ฒฝ์šฐ ์ด ๊ณผ์ •์— 2~5์ดˆ๊ฐ€ ์†Œ์š”๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ต๋‹ตํ•œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 5-7]. * **CSR(Client-Side Rendering)๊ณผ์˜ ๋น„๊ต:** CSR์˜ ๊ฒฝ์šฐ, ์ดˆ๊ธฐ์— ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋นˆ HTML ์…ธ์„ ๋ฐ›๊ณ  JavaScript๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ดˆ๊ธฐ ํ™”๋ฉด ํ‘œ์‹œ๋Š” ๋А๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8, 9]. ํ•˜์ง€๋งŒ JavaScript ๋กœ๋“œ ํ›„ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ Œ๋”๋ง์ด ์™„๋ฃŒ๋˜๋ฉด ์ฆ‰๊ฐ์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฏ€๋กœ ์ดˆ๊ธฐ ๋กœ๋“œ ์ดํ›„์˜ TTI๋Š” ํ–ฅ์ƒ๋˜๋Š” ํŠน์ง•์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค [10, 11]. * **์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ด€์ :** TTI๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ์ ์œ  ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4]. ์ด๋ฅผ ์œ„ํ•ด ์ ์ง„์ /์„ ํƒ์  Hydration ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜์—ฌ ์ค‘์š”ํ•œ ์ƒํ˜ธ์ž‘์šฉ ์š”์†Œ๋ฅผ ๋จผ์ € ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ [12, 13], [[React Server Components|React Server Components]](RSC)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „์†ก๋˜๋Š” JavaScript ๋ฒˆ๋“ค ํฌ๊ธฐ ์ž์ฒด๋ฅผ ์ค„์ž„์œผ๋กœ์จ Hydration์— ์†Œ์š”๋˜๋Š” ๋น„์šฉ์„ ์›์ฒœ์ ์œผ๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [14, 15]. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Hydration|Hydration]], Server-Side Rendering (SSR), Client-Side Rendering (CSR), [[First Contentful Paint (FCP)|First Contentful Paint (FCP]], ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ([[Main Thread|Main Thread]] - **Projects/Contexts:** [[แ„…แ…ฆแ†ซแ„ƒแ…ฅแ„…แ…ตแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช แ„€แ…ขแ„‚แ…งแ†ท แ„‰แ…ฅแ†ฏแ„†แ…งแ†ผ แ„Œแ…กแ„…แ…ญ|๋ Œ๋”๋ง ์ตœ์ ํ™” ๊ฐœ๋… ์„ค๋ช… ์ž๋ฃŒ]], [[Reactแ„€แ…ก แ„ˆแ…กแ„…แ…ณแ†ซ แ„‹แ…ตแ„‹แ…ฒ|React๊ฐ€ ๋น ๋ฅธ ์ด์œ ]] - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด SSR๊ณผ CSR์€ ๋šœ๋ ทํ•œ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. SSR์€ FCP(์ดˆ๊ธฐ ์ฝ˜ํ…์ธ  ํ‘œ์‹œ)๊ฐ€ ๋น ๋ฅด์ง€๋งŒ Hydration ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ธํ•ด TTI๊ฐ€ ๋А๋ ค์ง€๋Š” ๋ฐ˜๋ฉด, CSR์€ ์ดˆ๊ธฐ ๋กœ๋“œ ์†๋„๋Š” ๋А๋ฆฌ์ง€๋งŒ ๋กœ๋“œ ์ดํ›„์˜ ์ƒํ˜ธ์ž‘์šฉ(TTI ํ–ฅ์ƒ)์€ ๋” ๋ถ€๋“œ๋Ÿฝ๊ณ  ์ฆ‰๊ฐ์ ์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค [11, 16-18]. --- *Last updated: 2026-04-25* ## ๐Ÿค– LLM ํ™œ์šฉ ํžŒํŠธ (How to Use This Knowledge) **์–ธ์ œ ์ด ์ง€์‹์„ ์“ฐ๋Š”๊ฐ€:** - *(TODO)* **์–ธ์ œ ์“ฐ๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€:** - *(TODO)* ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ:** needs_review - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„:** A - **๊ฒ€ํ†  ์ด์œ :** *(P-Reinforce Phase 1 ์ž๋™ ์ •๊ทœํ™”. ๋ณธ๋ฌธ ๊ฒ€์ฆ ํ•„์š”.)* ## ๐Ÿงฌ ์ค‘๋ณต ๊ฒ€์‚ฌ (Duplicate Check) - **๊ธฐ์กด ์œ ์‚ฌ ๋ฌธ์„œ:** *(TODO: ์ธ๋ฑ์„œ ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌํฌํŠธ ์ฐธ์กฐ)* - **์ฒ˜๋ฆฌ ๋ฐฉ์‹:** UPDATE (์ž๋™ ์ •๊ทœํ™”) - **์ฒ˜๋ฆฌ ์ด์œ :** Phase 1 ์ •๊ทœํ™” โ€” ์˜› ํ…œํ”Œ๋ฆฟ/๋ˆ„๋ฝ ํ•„๋“œ ๋ณด๊ฐ•. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & Updates) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์—†์Œ - **์ •์ฑ… ๋ณ€ํ™”:** ์—†์Œ ## ๐Ÿ•“ ๋ณ€๊ฒฝ ์ด๋ ฅ (Changelog) | ๋‚ ์งœ | ๋ณ€๊ฒฝ ๋‚ด์šฉ | ์ฒ˜๋ฆฌ ๋ฐฉ์‹ | ์‹ ๋ขฐ๋„ | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 ์ •๊ทœํ™” (frontmatter + ํ—ค๋” ํ‘œ์ค€ํ™”) | UPDATE | A | ## ๐Ÿ’ป ์ฝ”๋“œ ํŒจํ„ด (Code Patterns) **ํŒจํ„ด 1:** *(TODO: ์ด ํ”„๋กœ์ ํŠธ ์ปจ๋ฒค์…˜ ๋ฐ˜์˜ํ•œ ๊ตฌ์กฐ ์Šค์ผˆ๋ ˆํ†ค)* ```text # TODO ``` ## ๐Ÿค” ์˜์‚ฌ๊ฒฐ์ • ๊ธฐ์ค€ (Decision Criteria) **์„ ํƒ A๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **์„ ํƒ B๋ฅผ ์จ์•ผ ํ•  ๋•Œ:** - *(TODO)* **๊ธฐ๋ณธ๊ฐ’:** > *(TODO)* ## โŒ ์•ˆํ‹ฐํŒจํ„ด (Anti-Patterns) - **[์•ˆํ‹ฐํŒจํ„ด]:** *(TODO: ๋ฌด์—‡์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š”๊ฐ€ + ์ด์œ  + ๋Œ€์‹  ๋ฌด์—‡์„)*