Skip to content

Latest commit

ย 

History

History
97 lines (70 loc) ยท 5.58 KB

Cache.md

File metadata and controls

97 lines (70 loc) ยท 5.58 KB

์บ์‹œ(Cache)

  • ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์„ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด ๋†“์€ โ€˜์ž„์‹œโ€™ ์žฅ์†Œ์ด๋‹ค.
  • ์บ์‹œ์— ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์„ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด ๋†“์œผ๋ฉด ๊ณ„์‚ฐ์ด๋‚˜ ์ ‘๊ทผ ์‹œ๊ฐ„ ์—†์ด ๋น ๋ฅธ ์†๋„๋กœ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์บ์‹œ๋Š” ์šด์˜ ์ฒด์ œ, ๋„คํŠธ์›Œํ‚น, ์›น์ด๋‚˜ ์•ฑ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋œ๋‹ค.
  • ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์— ๋น„ํ•ด ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์‹œ๊ฐ„์ด ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹œ๊ฐ€ ๋งŽ์ด ์“ฐ์ด๊ณ  ์žˆ๋‹ค.

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2022-05-18 15 58 14

(์œ„๋กœ ๊ฐˆ์ˆ˜๋ก ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ๋น„์‹ธ๋ฉฐ, ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  CPU์— ๊ฐ€๊น๋‹ค.)

์บ์‹œ์˜ ์ž‘๋™ ์›๋ฆฌ

  • ์บ์‹œ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ RAM(Random Access Memory)๊ณผ ๊ฐ™์ด ๋น ๋ฅด๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด์— ์ €์žฅ๋˜๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. โ†’ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ
  • ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต(SSD / HHD)์— ์ ‘๊ทผ ๋˜๋Š” DBMS๋‚˜ ์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ํ•„์š”์„ฑ์„ ์ค„์ž„์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
  • ์†๋„๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์„ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•œ๋‹ค.
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์กด์žฌํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. โ†’ Cache Hit
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์š”์ฒญํ•œ๋‹ค. โ†’ Cache Miss
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์กด์žฌํ•  ํ™•๋ฅ  โ†’ Cache Hit Ratio
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์กด์žฌํ•˜์ง€ ์•Š์„ ํ™•๋ฅ  -> Cache Miss Ratio
  • Cache Hit Ratio๊ฐ€ ๋‚ฎ์€(Cache Miss Ratio๊ฐ€ ๋†’์€) ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ ์บ์‹œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค.

์บ์‹œ์˜ ์ง€์—ญ์„ฑ

  • ์บ์‹œ๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ ค๋ฉด, ์บ์‹œ์— ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์—ญ์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
  • ์ง€์—ญ์„ฑ์ด๋ž€ ์ •๋ณด๋ฅผ ๊ท ์ผํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์–ด๋Š ํ•œ ์ˆœ๊ฐ„์— ํŠน์ • ๋ถ€๋ถ„์„ ์ง‘์ค‘์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ํŠน์„ฑ์ด๋‹ค.
  • ์ง€์—ญ์„ฑ์€ ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ๊ณผ ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
  • ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ

    ์ตœ๊ทผ์— ์ ‘๊ทผํ•œ ๋ฐ์ดํ„ฐ์— ๋‹ค์‹œ ์ ‘๊ทผํ•˜๋Š” ํŠน์„ฑ

  • ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ

    ํŠน์ • ๋ฐ์ดํ„ฐ์™€ ์ธ์ ‘ํ•œ ๋ฐ์ดํ„ฐ์— ๋‹ค์‹œ ์ ‘๊ทผํ•˜๋Š” ํŠน์„ฑ

์บ์‹œ์˜ ํ™œ์šฉ

  • ์ผ๋ฐ˜ ์บ์‹œ

๊ธฐ์กด ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ์„ฑ๋Šฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํšจ๊ณผ์ ์ด๋‹ค.

  • ํ†ตํ•ฉ ์บ์‹œ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์š”์ฒญ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋˜๊ณ  CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ฅ ์ด ๊ฐ์†Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์บ์‹ฑ

์†๋„์™€ ์ฒ˜๋ฆฌ๋Ÿ‰ ๋ฉด์—์„œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„ฑ๋Šฅ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด ์„ฑ๋Šฅ์— ๊ฐ€์žฅ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

๋”ฐ๋ผ์„œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

  • ์›น ์บ์‹ฑ

์‚ฌ์šฉ์ž์—๊ฒŒ ์›น ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ๋•Œ, ๋””์Šคํฌ ์ฝ๊ธฐ์™€ ์„œ๋ฒ„ ๋กœ๋“œ๋ฅผ ์ค„์ด๊ธฐ ๋•Œ๋ฌธ์—

์ด๋ฏธ์ง€, html ๋ฌธ์„œ, ๋™์˜์ƒ ๋“ฑ์˜ ์›น ์ž์‚ฐ ๊ฒ€์ƒ‰๊ณผ ๊ด€๋ จ๋œ ๋Œ€๋ถ€๋ถ„์˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

  • API(Application Programming Interface) ์บ์‹ฑ

API ์‘๋‹ต์„ ์บ์‹ฑํ•จ์œผ๋กœ์จ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋น„๋กฏํ•œ ์ธํ”„๋ผ์— ๊ฐ€ํ•ด์ง€๋Š” ๋ถ€๋‹ด์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ  ์‘๋‹ต ์‹œ๊ฐ„์ด ๋นจ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—

API์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค.

  • ์„ธ์…˜ ๊ด€๋ฆฌ

HTTP ์„ธ์…˜์—๋Š” ๋กœ๊ทธ์ธ ์ •๋ณด, ์‡ผํ•‘ ๋ชฉ๋ก, ๊ฒ€์ƒ‰ ๊ธฐ๋ก ๋“ฑ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜๋Š”๋ฐ, ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์บ์‹œ์— ๋ณต์ œ๋˜๋ฉด ๋” ๋†’์€ ๊ฐ€์šฉ์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

  • DNS(Domain Name System) ์บ์‹ฑ

์ธํ„ฐ๋„ท์˜ ๋ชจ๋“  ๋„๋ฉ”์ธ ์š”์ฒญ์—๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด DNS ์บ์‹œ ์„œ๋ฒ„๋ฅผ ์ฟผ๋ฆฌํ•œ๋‹ค.

  • CDN(Content Delivery Network) ์บ์‹ฑ

์›น ํŠธ๋ž˜ํ”ฝ์ด ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ „ ์„ธ๊ณ„์— ๊ฑธ์ณ ์ „์ฒด ์ธํ”„๋ผ๋ฅผ ๋ณต์ œํ•˜๋Š” ๋ฐฉ์‹์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ํšจ์œจ์ ์ด์ง€ ์•Š๋‹ค.

๋”ฐ๋ผ์„œ, CDN์ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ์บ์‹ฑ ์„œ๋ฒ„์— ์ฝ˜ํ…์ธ ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ด ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์บ์‹œ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‚ฐ์—…๊ตฐ(๋ชจ๋ฐ”์ผ, IoT, ๊ด‘๊ณ , ๊ฒŒ์ž„, ๋ฏธ๋””์–ด ๋“ฑ) ์—์„œ๋„ ์บ์‹œ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

์บ์‹œ์˜ ์žฅ์ 

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ๊ฐœ์„ 

์บ์‹œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋ฉด ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋˜๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋œ๋‹ค.

  • ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰(IOPS) ์ฆ๊ฐ€

IOPS(Input/Output Operations Per Second) ์บ์‹œ๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„์šฉ ์ ˆ๊ฐ

์บ์‹œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๋ถ€๋ฅผ ๋Œ€์ฒดํ•จ์œผ๋กœ์จ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฒ˜๋ฆฌ๋Ÿ‰ ๋‹น ๋น„์šฉ์„ ์ ˆ๊ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฐฑ์—”๋“œ์˜ ๋ถ€ํ•˜ ๊ฐ์†Œ

์บ์‹œ์— ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋ฅผ ์ €์žฅํ•ด๋‘๋ฉด, ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘๊ทผํ•ด๋„ ๋ถ€ํ•˜๊ฐ€ ์ค„์–ด๋“ ๋‹ค.

  • ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ

๋ธ”๋ž™ ํ”„๋ผ์ด๋ฐ์ด์™€ ๊ฐ™์€ ํŠน์ • ๊ธฐ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์ด ์ฆ๊ฐ€ํ•˜๋ฉด ์ง€์—ฐ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ์˜ˆ์ธก์ด ๋ถˆ๊ฐ€๋Šฅ ํ•ด์ง„๋‹ค. ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋†’์€ ์บ์‹œ๋ฅผ ํ™œ์šฉํ•จ์œผ๋กœ์จ ์ด ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

์บ์‹œ์˜ ๋‹จ์ 

  • ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ๊ฐ€๊ฒฉ์ด ๋งค์šฐ ๋น„์‹ธ๋‹ค.
  • ์ž„์‹œ ์ €์žฅ์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์งˆ ๊ฐ€๋Šฅ์„ฑ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

๋ฉด์ ‘ ๋Œ€๋น„

  • ์บ์‹œ(Cache)๋ž€?
  • ์บ์‹œ๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š”๊ฐ€?
  • ์บ์‹œ์˜ ์žฅ์ ์ด ๋ฌด์—‡์ธ๊ฐ€?