blog

๐ŸŽฏ PostgreSQL ์‚ฌ์šฉ์ž๊ฐ€ ๊ผญ ์•Œ์•„์•ผ ํ•  ํ•ต์‹ฌ ๊ฐœ๋…

๋‚ ์งœ: 2025-06-29

๋ชฉ๋ก์œผ๋กœ


1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ

2. ์„ฑ๋Šฅ ์ตœ์ ํ™” ํ•ต์‹ฌ

3. ์œ ์ง€๋ณด์ˆ˜ ํ•„์ˆ˜ ์ž‘์—…

4. ๋ชจ๋‹ˆํ„ฐ๋ง ํ•„์ˆ˜ ์ง€ํ‘œ

-- ํ…Œ์ด๋ธ”๋ณ„ ํ†ต๊ณ„ ํ™•์ธ
SELECT schemaname, tablename, n_tup_ins, n_tup_upd, n_tup_del, n_dead_tup
FROM pg_stat_user_tables;

-- ์ธ๋ฑ์Šค ์‚ฌ์šฉ๋ฅ  ํ™•์ธ
SELECT schemaname, tablename, indexname, idx_scan, idx_tup_read, idx_tup_fetch
FROM pg_stat_user_indexes;

-- Wraparound ์œ„ํ—˜๋„ ํ™•์ธ
SELECT datname, age(datfrozenxid) as xid_age 
FROM pg_database 
WHERE age(datfrozenxid) > 150000000;

5. ์„ฑ๋Šฅ ํŠœ๋‹ ํ•ต์‹ฌ ์„ค์ •

-- postgresql.conf ์ฃผ์š” ์„ค์ •
shared_buffers = 25% of RAM        -- ๊ณต์œ  ๋ฒ„ํผ ํฌ๊ธฐ
work_mem = 4MB                     -- ์ž‘์—… ๋ฉ”๋ชจ๋ฆฌ
maintenance_work_mem = 64MB        -- ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—… ๋ฉ”๋ชจ๋ฆฌ
effective_cache_size = 75% of RAM  -- OS ์บ์‹œ ํฌ๊ธฐ

6. ๋ฌธ์ œ ํ•ด๊ฒฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

7. ๋ฐฑ์—…๊ณผ ๋ณต๊ตฌ

8. ๋ณด์•ˆ ๊ธฐ๋ณธ์‚ฌํ•ญ

๐Ÿ’ก ์‹ค๋ฌด ํŒ


๋ชฉ๋ก์œผ๋กœ