"์น ๊ฐ๋ฐ์๋ฅผ ์ํ ๋๊ท๋ชจ ์๋น์ค๋ฅผ ์งํฑํ๋ ๊ธฐ์ "์ ๋ด์ฉ์ ์ฌ๊ตฌ์ฑํ์ต๋๋ค.
ํ์ด์ง ์บ์๋?
OS๋ ๋์คํฌ ์ก์ธ์ค๋ฅผ ์ค์ด๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํฉ๋๋ค.
ํ๋ก์ธ์ค A๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ๋ ํ, ๋ ์ด์ ๊ทธ ๋ฐ์ดํฐ๊ฐ ํ์ ์์ด์ก๋ค๊ณ ํด์ OS๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ๋ก ํด์ ํ์ง ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋จ๊ฒจ๋๋๋ฐ, ์ด๊ฒ์ด ๋ฐ๋ก ํ์ด์ง ์บ์์ ๋๋ค.

์ด ๋๋ถ์ ํ๋ก์ธ์ค B๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ๋ ๋์คํฌ๋ฅผ ๋ค์ ์ฝ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ๋ก ๊ฐ์ ธ์ฌ ์ ์๊ฒ ๋ฉ๋๋ค.
* OS์ ํ์ผ ์์คํ ๋ง๋ค ๋์คํฌ ์ฝ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅผํ ๋ฐ?
๋ฆฌ๋ ์ค์๋ ext3, ext2 ๊ฐ์ ์ฌ๋ฌ ํ์ผ ์์คํ ์ด ์๊ณ ๊ฐ๊ฐ ๋์คํฌ๋ฅผ ์ฝ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฅด์ง๋ง, VFS(Virtual File System)๊ฐ ์ด๋ค ํ์ผ ์์คํ ์ ์ฌ์ฉํ๋ ํ์ด์ง ์บ์๋ฅผ ๋์ผํ๊ฒ ์ ๊ณตํด์ค๋ค๊ณ ํฉ๋๋ค.
ํ์ด์ง ์บ์ ํน์ง
ํ์ด์ง ์บ์์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ ๋ฒ์งธ ์ดํ์ ๋ฐ์ดํฐ ์ ๊ทผ๋ถํฐ ๋นจ๋ผ์ง๋ค๋ ์ ์ ๋๋ค. OS๋ฅผ ๊ณ์ ๊ฐ๋์์ผ๋๋ฉด ์บ์ฑ๋ ํ์ด์ง๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๋ฝํ๋ ํ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ํด์ ์บ์ฑํฉ๋๋ค.
ํ์ด์ง ์บ์๋ LRU(Least Recently Used) ๊ตฌ์กฐ๋ก ๋์ํฉ๋๋ค. ์ต๊ทผ์ ์ฝ์ ๋ถ๋ถ์ด ์บ์์ ๋จ๊ณ ๊ณผ๊ฑฐ์ ์ฝ์ ๋ถ๋ถ์ด ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ ค๊ฐ๋๋ค. ๋ฐ๋ผ์ DB๋ฅผ ๊ณ์ ๊ตฌ๋์ํค๋ฉด ์บ์๊ฐ ์ ์ ์ต์ ํ๋์ด ๊ฐ๋ฏ๋ก, ๊ธฐ๋ ์งํ๋ณด๋ค ์๊ฐ์ด ์ง๋ ์๋ก ๋ถํ์ I/O๊ฐ ์ค์ด๋ค๊ฒ ๋ฉ๋๋ค.
Linux๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋น์ด์์ผ๋ฉด ์ ๊ทน์ ์ผ๋ก ํ์ด์ง๋ฅผ ์บ์ฑํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ฐ๋ฅํ ํ ๋จ์์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง ์บ์๋ก ํ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฌ๋ค๊ฐ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ๋, ์ค๋๋ ์บ์๋ฅผ ๋ฒ๋ฆฌ๊ณ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณดํด์ค๋๋ค.
ํ์ด์ง ์บ์ ์ฌ์ฉ๋ ํ์ธํ๊ธฐ
์ค์ ๋ก ํ์ด์ง ์บ์ ์ฌ์ฉ๋์ ํ์ธํ๋ ค๋ฉด ๋ฆฌ๋ ์ค์ sar ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
* sar(System Activity Reporter) ๋ช ๋ น์ด๋ CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ I/O, ๋คํธ์ํฌ ๋ฑ ์์คํ ์์ ์ฌ์ฉ ์ ๋ณด๋ฅผ ์์งํ๊ณ ๋ฆฌํฌํ ํ๋ ๋ชจ๋ํฐ๋ง ๋๊ตฌ(from GPT) ์ด๋ค.
"sar -r 1 10000" ๋ 1์ด๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ํํฉ์ 10000๋ฒ ๋ฐ๋ณตํด์ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด ์ ๋๋ค.

์ฌ๊ธฐ์ kbcached ๊ฐ์ด ํ์ด์ง ์บ์๋๊ณ ์๋ ์์ธ๋ฐ, ๋จ์๋ KB์ ๋๋ค. ์ฌ์ง์์๋ 393Gi ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ด์ง ์บ์๋ก ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ด๋ "์บ์์ 393Gi๋ ์ฌ์ฉํ๊ณ ์๋ค"๋ ์๋ฏธ๊ฐ ์๋๋๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋น์ด์๋ ๊ณณ์ OS๊ฐ ์กฐ๊ธ์ฉ ๋์คํฌ๋ฅผ ์บ์ฑํ๊ณ ์๋ ๊ฒ์ผ ๋ฟ์ ๋๋ค.
๋ ๊ฐ๋จํ๊ฒ๋ free -h ๋ช ๋ น์ด๋ก ํ์ธํ ์ ์์ต๋๋ค.

๋ฉ๋ชจ๋ฆฌ 503Gi ์ค ์บ์๋ก 399Gi๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ๋์ ๋ณผ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฆฌ๋ฉด ์บ์์ ์ฌ์ฉํ ์ ์๋ ์ฉ๋์ด ๋์ด๋๊ณ , ์บ์์ ์ฌ์ฉํ๋ ์ฉ๋์ด ๋ง์์ง์๋ก ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ์ฌ ๋์คํฌ๋ฅผ ์ฝ๋ ํ์(I/O ํ์)๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
์๋ฒ ํน์ง์ ๋ฐ๋ผ ํ์ํ ์์์ ์ฐจ์ด
๋ฐ๋ผ์, ํ์ด์ง ์บ์๋ฅผ ์ดํดํ๋ฉด Application ์๋ฒ์ DB ์๋ฒ๋ฅผ ํ์ฅํ ๋ ํ์ํ ์์์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
- Application ์๋ฒ ํ์ฅ: CPU ๋ถํ ๋ถ์ฐ์ด ๋ชฉ์
- DB ์๋ฒ ํ์ฅ: I/O ์ฑ๋ฅ ํฅ์์ ์ํด ๋ฉ๋ชจ๋ฆฌ ์ค์ผ์ผ ์ ์ด ์ฐ์
๋ฆฌ๋ ์ค ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฆฌ๋ฉด ๋์คํฌ์ ๋ด์ฉ์ด ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์บ์๋์ด ์ค์ ๋์คํฌ I/O ๋ถํ๋ฅผ ๋ฎ์ถ ์ ์์ต๋๋ค.
๋ง์ ๋ฐ์ดํฐ์์ ํ์ด์ง ์บ์๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ์บ์ฑํ์ง ๋ชปํ ๋, ๋ ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ผ์ผ ์ ํ์ง ๋ชปํ ๋ ๋น๋ก์ DB๋ฅผ ํ์ฅํ๋ ์ ๋ต์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
์ฆ, ๋์คํฌ I/O ๋ฐ์ด๋ํ DB์๋ฒ์์๋ ์ฒ๋ฆฌํ ๋ฐ์ดํฐ์์ ๋น๋กํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฆ์คํ๋ ๊ฒ์ด I/O ๋ถํ๋ฅผ ์ค์ด๋ ๋ฐ์ ํจ๊ณผ์ ์ธ ์ ๋ต์ด ๋ ์ ์์ต๋๋ค.
DB ์ค๋ฉ๊ณผ ํ์ด์ง ์บ์์ ๊ด๊ณ
๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ์ด์ ์ฆ์คํ์ง ๋ชปํด์ DB ์๋ฒ๋ฅผ ํ์ฅํ ๋๋ ์ค๋ฉ ํค ์ ํ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํด ๊ฐ๊ฐ์ DB ์๋ฒ์ ์์น์ํค๋ฉด ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ ๋ฐ์ดํฐ๊ฐ ๊ฒน์น์ง ์๊ธฐ ๋๋ฌธ์ I/O ๋ถํ๋ฅผ ์ค์ด๋ ๋ฐ์ ๋์ฑ ํจ๊ณผ์ ์ ๋๋ค.
์ฌ๊ธฐ์ ํต์ฌ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ง ๊ณ ๋ฃจ ๋ถ์ฐ๋๋๋ก ์ค๋ฉ ํค๋ฅผ ์ค๊ณํ๋ ๊ฒ์ ๋๋ค. ๋ง์ฝ ๋ฐ์ดํฐ๊ฐ ํ์ชฝ์ผ๋ก ์ ๋ฆฌ๋ฉด ํน์ DB ์๋ฒ์ ํ์ด์ง ์บ์๋ง ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ณ , ๋ค๋ฅธ ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ถฉ๋ถํ ํ์ฉ๋์ง ๋ชปํ๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ๋ฐ๋๋ก ๊ท ๋ฑํ๊ฒ ๋ถ์ฐ๋๋ค๋ฉด ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ๊ฐ DB ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ด์ง ์บ์๋์ด ๋์คํฌ I/O๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค.
DB ์๋ฒ ์ฌ๋ถํ ์ ์ฃผ์์ฌํญ
๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ DB ์๋ฒ๋ฅผ ๋ถํ ํ ๋๋ ์กฐ์ฌํด์ผ ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑ๋์ด ์๋ ํ์ด์ง ์บ์๋ ๋ชจ๋ ์ด๊ธฐํ๋๊ณ , ๋ชจ๋ DB ์ก์ธ์ค ์์ฒญ์ ๋์คํฌ I/O๋ฅผ ๋ฐ์์์ผ DB ์๋ฒ๊ฐ ๋ค์ด๋ ์ ์์ต๋๋ค.
๊ทธ๋์, DB ์๋ฒ๋ฅผ ๋ถํ ํ ํ์๋ ์์ฃผ ์ฌ์ฉํ๋ DB ํ์ผ์ cat ๋ช ๋ น์ด๋ก ํ ๋ฒ ์กฐํํ๋ ๊ฒ์ ๋๋ค.
cat /var/lib/mysql/frequently_used_table.ibd > /dev/null
์ด๋ ๊ฒ ํ๋ฉด ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ฌ๋ ค๋์ ์ ์์ต๋๋ค. ์ด๋ฅผ "์บ์ ์๋ฐ(Cache Warming)"์ด๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค.
๋น์ฐํ I/O ๊ด๋ จ ๋ถํ ํ ์คํธ๋ฅผ ํ ๋์๋ ํ์ด์ง ์บ์๊ฐ ์ฐ์ธ๋ค๋ ๊ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํ ์คํธ์ ๋ ๋ฒ์งธ ํ ์คํธ์ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅด๋ค๋ฉด, ๊ทธ๊ฒ์ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋๋ผ ํ์ด์ง ์บ์๊ฐ ๋์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ผ ์ ์์ต๋๋ค.
๋ง์น๋ฉฐ
ํนํ ํ์ด์ง ์บ์๋ ๋์คํฌ I/O ๊ธฐ๋ฐ์ธ Elasticsearch ์์๋ ์์ฃผ ์ฐ์ด๊ธฐ ๋๋ฌธ์, Elasticsearch์์๋ ํ์ด์ง ์บ์๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋จ๊ฒจ๋๊ธฐ ์ํด JVM Heap ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฒด ์์คํ ๋ฉ๋ชจ๋ฆฌ์ ์ ๋ฐ ์ดํ๋ก ์ค์ ํ ๊ฒ์ ๊ถ์ฅํ๊ธฐ๋ ํฉ๋๋ค.
ํธ๋ํฝ์ด ๋ชฐ๋ฆผ์ ๋ฐ๋ผ ์ธ์ scale out ์ ํ๊ณ , scale up ์ ํ๋์ง ๊ธฐ์ค์ด ๋ชจํธํ์๋๋ฐ, ํ์ด์ง ์บ์๊ฐ ์ธ์ ์ ์ฉํ์ง ์ด๋ ์ํฉ์ ์ ์ฉํ ์ ์๋์ง ์๊ฒ ๋์์ต๋๋ค.