์ธ์Šคํ„ด์Šค์˜ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ตœ์ ํ™”

์ธ์Šคํ„ด์Šค์— ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ (OOM) ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์€ ํ”ํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์€ ์ƒํƒœ๋กœ ์‹คํ–‰๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๋Š” ์„ฑ๋Šฅ ๋ฌธ์ œ, ์ค‘๋‹จ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค์šดํƒ€์ž„์„ ์ผ์œผํ‚ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ MySQL ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์€ ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ฟผ๋ฆฌ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ๊ณต์œ ํ•˜๊ณ  ํ•ญ์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ MySQL ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์ง€๋  ๋•Œ๋งŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์€ ์„ธ์…˜ ๊ธฐ๋ฐ˜์ด์–ด์„œ ์„ธ์…˜์ด ๋‹ซํžˆ๋Š” ์ฆ‰์‹œ ํ•ด๋‹น ์„ธ์…˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋„ ์‹œ์Šคํ…œ์œผ๋กœ ๋‹ค์‹œ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.

MySQL์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค์—์„œ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. MySQL ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  • ์Šค๋ ˆ๋“œ ๋ฐ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„
  • ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

์Šค๋ ˆ๋“œ ๋ฐ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

๊ฐ ์‚ฌ์šฉ์ž ์„ธ์…˜์€ ์„ธ์…˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‹คํ–‰ ์ค‘์ธ ์ฟผ๋ฆฌ, ๋ฒ„ํผ, ์บ์‹œ์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•˜๋ฉฐ MySQL์˜ ์„ธ์…˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • thread_stack
  • net_buffer_length
  • read_buffer_size
  • read_rnd_buffer_size
  • sort_buffer_size
  • join_buffer_size
  • max_heap_table_size
  • tmp_table_size

ํŠน์ • ์‹œ์ ์— ์‹คํ–‰ ์ค‘์ธ ์ฟผ๋ฆฌ๊ฐ€ N๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ ์ฟผ๋ฆฌ๋Š” ์„ธ์…˜ ์ค‘์— ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

์ด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€๋ถ„์€ ๋ชจ๋“  ์ฟผ๋ฆฌ์— ๊ณตํ†ต์ ์ด๋ฉฐ innodb_buffer_pool_size, innodb_log_buffer_size, key_buffer_size์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค.

innodb_buffer_pool_size ํ”Œ๋ž˜๊ทธ๋กœ ๊ตฌ์„ฑ๋˜๋Š” InnoDB ๋ฒ„ํผ ํ’€์€ MySQL์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค์—์„œ ์ƒ๋‹นํ•œ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์บ์‹œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ (OOM) ์ด๋ฒคํŠธ์˜ ์œ„ํ—˜์„ ์ค„์ด๋ ค๋ฉด ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๋™์ผํ•œ ํ›„์† ์ฟผ๋ฆฌ์˜ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์œ„ํ•ด ์ฟผ๋ฆฌ ๋ฐ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฟผ๋ฆฌ ์บ์‹œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•œ binlog ์บ์‹œ๊ฐ€ ํฌํ•จ๋˜๋ฉฐ binlog_cache_size๋กœ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค.

๊ธฐํƒ€ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„

๋ฉ”๋ชจ๋ฆฌ๋Š” ์กฐ์ธ ๋ฐ ์ •๋ ฌ ์ž‘์—…์—์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์—์„œ ์กฐ์ธ ๋˜๋Š” ์ •๋ ฌ ์ž‘์—…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ฟผ๋ฆฌ๊ฐ€ join_buffer_size ๋ฐ sort_buffer_size๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด์™€ ๋ณ„๊ฐœ๋กœ ์„ฑ๋Šฅ ์Šคํ‚ค๋งˆ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ด๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์†Œ๋น„๋ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์Šคํ‚ค๋งˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

SELECT *
FROM
  performance_schema.memory_summary_global_by_event_name
WHERE EVENT_NAME LIKE 'memory/performance_schema/%';

MySQL์—๋Š” ์„ฑ๋Šฅ ์Šคํ‚ค๋งˆ๋ฅผ ํ†ตํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๊ณ„์ธก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ MySQL ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์„ ์œ„ํ•œ MyISAM ๊ด€๋ จ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” bulk_insert_buffer_size์ž…๋‹ˆ๋‹ค.

MySQL์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ MySQL ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๊ถŒ์žฅ์‚ฌํ•ญ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ตœ์ ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€ ์‚ฌ์šฉ ์„ค์ •

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋†’์„ ๋•Œ InnoDB ๋ฒ„ํผ ํ’€ (๋˜๋Š” innodb_buffer_pool_size)์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ™•๋ณด๋ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์œผ๋ฉด ์ธ์Šคํ„ด์Šค์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ (OOM) ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OOM ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค์—์„œ ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด 10๋ถ„ ์ด์ƒ ๋‚ฎ์€ ๊ฐ’์œผ๋กœ ์•ˆ์ •ํ™”๋˜๋ฉด ๊ด€๋ฆฌ ๋ฒ„ํผ ํ’€์€ innodb_buffer_pool_size ๊ฐ’์„ ์›๋ž˜ ๊ฐ’์œผ๋กœ ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์•ˆ์ •ํ™”๋œ ํ›„ innodb_buffer_pool_size ํ”Œ๋ž˜๊ทธ ๊ฐ’์„ ์„ ํƒํ•œ ๊ฐ’์œผ๋กœ ๋Š˜๋ฆด ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๊ฒฉ ๊ธฐ์ค€

๊ณต์œ  ์ฝ”์–ด ์ธ์Šคํ„ด์Šค, MySQL 5.6 ๋˜๋Š” MySQL 5.7์—์„œ๋Š” ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ์‚ฌ์šฉ ์„ค์ •

์ธ์Šคํ„ด์Šค์— ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด innodb_cloudsql_managed_buffer_pool ํ”Œ๋ž˜๊ทธ๋ฅผ on๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ ์„ค์ •์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

innodb_cloudsql_managed_buffer_pool ํ”Œ๋ž˜๊ทธ์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ ์„ค์ •ํ–ˆ๊ณ  ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋Ÿ‰์ด ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ธฐ๋ณธ ์ž„๊ณ„๊ฐ’ ๋น„์œจ์„ ์ดˆ๊ณผํ•˜๋ฉด Cloud SQL์—์„œ innodb_buffer_pool_size์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ณธ ์ž„๊ณ„๊ฐ’ ๋น„์œจ์€ ์ธ์Šคํ„ด์Šค์˜ RAM ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ 90% ~97% ๋กœ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๊ธฐ์ค€์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด innodb_cloudsql_managed_buffer_pool_threshold_pct ํ”Œ๋ž˜๊ทธ๋ฅผ ๋‹ค๋ฅธ ๋ฐฑ๋ถ„์œจ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ์ค€์ ์„ 97%๋กœ ์กฐ์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud sql instances patch INSTANCE_NAME \
   --database-flags=EXISTING_FLAGS,innodb_cloudsql_managed_buffer_pool=on,\
     innodb_cloudsql_managed_buffer_pool_threshold_pct=97

innodb_cloudsql_managed_buffer_pool_threshold_pct ํ”Œ๋ž˜๊ทธ๋ฅผ 50~99 ์‚ฌ์ด์˜ ์ •์ˆ˜ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ž„๊ณ„๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌ ๋ฒ„ํผ ํ’€์€ ์ด์ „ ๊ฐ์†Œ ํ›„ 10๋ถ„ ์ด์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์•ˆ์ •ํ™”๋˜๋ฉด innodb_buffer_pool_size ํ”Œ๋ž˜๊ทธ๋ฅผ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด 70% ์ดํ•˜๋กœ ์œ ์ง€๋˜์–ด์•ผ ์ฆ๊ฐ€๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์ค€์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด innodb_cloudsql_managed_buffer_pool_tuneup_pct ํ”Œ๋ž˜๊ทธ๋ฅผ ๋‹ค๋ฅธ ๋ฐฑ๋ถ„์œจ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฆ๊ฐ€ ๊ธฐ์ค€์„ 80%๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud sql instances patch INSTANCE_NAME \
   --database-flags=EXISTING_FLAGS,innodb_cloudsql_managed_buffer_pool=on,\
     innodb_cloudsql_managed_buffer_pool_tuneup_pct=80

์กฐ์ • ๋กœ์ง

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์€ innodb_buffer_pool_size๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฐ์ •๋œ ๊ณ ์ • ์ตœ์†Œ ํฌ๊ธฐ๋กœ ์ถ•์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๊ตฌ์„ฑ๋œ ์ž„๊ณ—๊ฐ’ ๋น„์œจ(innodb_cloudsql_managed_buffer_pool_threshold_pct) ์•„๋ž˜๋กœ ์ด ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. innodb_buffer_pool_size ํ”Œ๋ž˜๊ทธ ๊ฐ’์„ ์กฐ์ •ํ•˜์—ฌ ๋ฒ„ํผ ํ’€์„ ์ถ•์†Œํ•˜๊ณ  InnoDB์˜ ๋‚ด์žฅ ๋ฒ„ํผ ํ’€ ํฌ๊ธฐ ์กฐ์ ˆ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ์†Œํ•ด๋„ ์„ฑ๋Šฅ์— ์‹ฌ๊ฐํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ํฌ๊ธฐ๋กœ innodb_buffer_pool_size๊ฐ€ ์ถ•์†Œ๋˜์ง€ ์•Š๋„๋ก ์ด ๊ธฐ๋Šฅ์€ ๋‚ด๋ถ€ ์•ˆ์ „ ํ•˜ํ•œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์€ ๋ฒ„ํผ ํ’€์— ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š” ์ด ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ์˜ ๋น„์œจ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

MySQL ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ ์ตœ์†Œ ๋ฒ„ํผ ํ’€ ํฌ๊ธฐ
1025~2048MB 35%
2049~6528MB 30%
6529~11315MB 40%
11316~22630MB 45%
๊ธฐํƒ€ ํฌ๊ธฐ (๊ธฐ๋ณธ๊ฐ’) 50%

innodb_buffer_pool_size๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ์–‘์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์—๋Š” ๊ฐ ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ์˜ ๊ฐ์†Œ ๋น„์œจ์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

MySQL ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ ๊ฐ์†Œ์œจ
1025~2048MB 15%
2049~6528MB 11%
6529~11315MB 8%
11316~22630MB 6%
๊ธฐํƒ€ ํฌ๊ธฐ (๊ธฐ๋ณธ๊ฐ’) 5%

์ƒˆ๋กœ์šด ๊ฐ์†Œ๋œ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ ํ›„ ๊ด€๋ฆฌ ๋ฒ„ํผ ํ’€์€ innodb_buffer_pool_size์„ innodb_buffer_pool_instances ๋ฐ innodb_buffer_pool_chunk_size ๊ฐ’์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐฐ์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์—์„œ innodb_buffer_pool_size ๊ฐ’์„ ์กฐ์ •ํ•˜๋ฉด ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด Google Cloud ์ฝ˜์†”์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ ๋ฒ„ํผ ํ’€์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ innodb_buffer_pool_size์˜ ํ˜„์žฌ ๊ฐ’์„ ๋ณด๋ ค๋ฉด MySQL ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';

์ œํ•œ์‚ฌํ•ญ

๋ฒ„ํผ ํ’€ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ๋„ ๋ชจ๋“  ๊ฒฝ์šฐ์— OOM์„ ๋ฐฉ์ง€ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ์›Œํฌ๋กœ๋“œ๊ฐ€ ์ง€์† ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•˜๊ฑฐ๋‚˜ ๊ฐ‘์ž๊ธฐ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๊ณ , ์ผ๋ถ€ Cloud SQL ์ธ์Šคํ„ด์Šค๊ฐ€ ํ”„๋กœ๋น„์ €๋‹ ๋ถ€์กฑ์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฒ„ํผ ํ’€์ด ์›Œ๋ฐ์—…๋˜์ง€ ์•Š์•˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cloud SQL์€ ๋ฉ”๋ชจ๋ฆฌ ์›Œํฌ๋กœ๋“œ์˜ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ๋ณ€ํ™”๋ฅผ ์ˆ˜์šฉํ•  ๋งŒํผ ๋น ๋ฅด๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Cloud SQL์€ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ํ”Œ๋ž˜๊ทธ์˜ ์ž˜๋ชป ๊ตฌ์„ฑ๋œ ๊ฐ’์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง

MySQL ์˜ค๋ฅ˜ ๋กœ๊ทธ์—์„œ ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Cloud Logging ๋กœ๊ทธ ํƒ์ƒ‰๊ธฐ์—์„œ mysql.err ๋กœ๊ทธ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์—ฌ Managed Buffer Pool Plugin: ๋˜๋Š” Tuner Plugin: ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๋Š” ํ•ญ๋ชฉ์„ ์ฐพ์•„ ์ตœ์‹  ์กฐ์ • ์ด๋ฒคํŠธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€์ด ์ฒ˜์Œ ์‹œ์ž‘๋˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋กœ๊ทธ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

[Note] [MY-000000] [Server] Managed Buffer Pool Plugin: MySQL Instance memory limit: 29533, Current MySQL memory usage: 2663641088, Max Allowed MySQL memory usage: 30732730368 ...

๋‹ค์Œ ๋กœ๊ทธ๋Š” innodb_buffer_pool_size์˜ ์ž๋™ ๊ฐ์†Œ์˜ ์˜ˆ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

[Note] [MY-000000] [Server] Managed Buffer Pool Plugin: Decreasing InnoDB Buffer Pool Size.
[Note] [MY-000000] [Server] Managed Buffer Pool Plugin: Updated innodb_buffer_pool_size=805306368 bytes.

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๊ด€๋ฆฌํ˜• ๋ฒ„ํผ ํ’€ ์กฐ์ • ์ด๋ฒคํŠธ๋ฅผ ์ถ”์ ํ•˜๋„๋ก ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ์ธก์ •ํ•ญ๋ชฉ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Monitoring ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์‹๋ณ„

Cloud Monitoring ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ์˜ database/memory/components.usage ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ database/memory/components.cache ๋ฐ database/memory/components.free๋ฅผ ๊ฒฐํ•ฉํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 10% ๋ฏธ๋งŒ์ด๋ฉด OOM ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  OOM ์ด๋ฒคํŠธ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด database/memory/components.usage์—์„œ ์ธก์ •ํ•ญ๋ชฉ ๊ธฐ์ค€์  ์กฐ๊ฑด์ด ์žˆ๋Š” ์•Œ๋ฆผ ์ •์ฑ…์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ๋Š” ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ถŒ์žฅ ์•Œ๋ฆผ ๊ธฐ์ค€์  ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ๊ถŒ์žฅ ์•Œ๋ฆผ ๊ธฐ์ค€
16GB ์ดํ•˜ 90%
16GBย ์ดˆ๊ณผ 95%

๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ๊ณ„์‚ฐ

MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๊ณ„์‚ฐํ•˜์—ฌ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ํ•ฉํ•œ ์ธ์Šคํ„ด์Šค ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ˆ˜์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ตœ๋Œ€ MySQL ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ = innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size + tmp_table_size + key_buffer_size + ((read_buffer_size + read_rnd_buffer_size + sort_buffer_size + join_buffer_size) x max_connections)

์ˆ˜์‹์— ์‚ฌ์šฉ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • innodb_buffer_pool_size: InnoDB์—์„œ ํ…Œ์ด๋ธ” ๋ฐ ์ƒ‰์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ธ ๋ฒ„ํผ ํ’€์˜ ํฌ๊ธฐ(๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.
  • innodb_additional_mem_pool_size: InnoDB์—์„œ ๋ฐ์ดํ„ฐ ๋”•์…”๋„ˆ๋ฆฌ ์ •๋ณด์™€ ๊ธฐํƒ€ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ’€ ํฌ๊ธฐ(๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.
  • innodb_log_buffer_size: InnoDB๊ฐ€ ๋””์Šคํฌ์˜ ๋กœ๊ทธ ํŒŒ์ผ์— ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ„ํผ์˜ ํฌ๊ธฐ(๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.
  • tmp_table_size: MEMORY ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ๋ฐ MySQL 8.0.28๋ถ€ํ„ฐ TempTable ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—์„œ ์ƒ์„ฑ๋œ ๋‚ด๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์ž„์‹œ ํ…Œ์ด๋ธ”์˜ ์ตœ๋Œ€ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
  • key_buffer_size: ์ƒ‰์ธ ๋ธ”๋ก์— ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํผ์˜ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. MyISAM ํ…Œ์ด๋ธ”์˜ ์ƒ‰์ธ ๋ธ”๋ก์€ ๋ฒ„ํผ๋ง๋˜๋ฉฐ ๋ชจ๋“  ์Šค๋ ˆ๋“œ์—์„œ ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค.
  • read_buffer_size: MyISAM ํ…Œ์ด๋ธ”์— ์ˆœ์ฐจ์  ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ ์Šค๋ ˆ๋“œ์—์„œ ์Šค์บ”ํ•˜๋Š” ํ…Œ์ด๋ธ”๋งˆ๋‹ค ์ด ํฌ๊ธฐ์˜ ๋ฒ„ํผ(๋ฐ”์ดํŠธ)๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • read_rnd_buffer_size: ์ด ๋ณ€์ˆ˜๋Š” MyISAM ํ…Œ์ด๋ธ”์—์„œ ์ฝ๊ธฐ, ๋ชจ๋“  ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„, ๋‹ค์ค‘ ๋ฒ”์œ„ ์ฝ๊ธฐ ์ตœ์ ํ™”์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • sort_buffer_size: ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฐ ์„ธ์…˜์—์„œ ์ด ํฌ๊ธฐ์˜ ๋ฒ„ํผ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. sort_buffer_size๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๊ตญํ•œ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • join_buffer_size: ์ผ๋ฐ˜ ์ƒ‰์ธ ์Šค์บ”, ๋ฒ”์œ„ ์ƒ‰์ธ ์Šค์บ”, ์ƒ‰์ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ ์ „์ฒด ํ…Œ์ด๋ธ” ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์กฐ์ธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํผ์˜ ์ตœ์†Œ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.
  • max_connections: ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ ๋™์‹œ ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ ์ˆ˜์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋Ÿ‰์ด ๋งŽ์€ ๋ฌธ์ œ ํ•ด๊ฒฐ

  • SHOW PROCESSLIST๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•˜๊ณ  ์žˆ๋Š” ์ง„ํ–‰ ์ค‘์ธ ์ฟผ๋ฆฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์Šค๋ ˆ๋“œ์™€ ์‹คํ–‰ ์ค‘์ธ SQL ๋ฌธ์„ ํ‘œ์‹œํ•˜๊ณ  ์ตœ์ ํ™”๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ ๋ฐ ๊ธฐ๊ฐ„ ์—ด์— ์ฃผ์˜ํ•ฉ๋‹ˆ๋‹ค.

    mysql> SHOW [FULL] PROCESSLIST;
    
    
  • BUFFER POOL AND MEMORY ์„น์…˜์˜ SHOW ENGINE INNODB STATUS์—์„œ ํ˜„์žฌ ๋ฒ„ํผ ํ’€๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„ํผ ํ’€ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    mysql> SHOW ENGINE INNODB STATUS \G
    ----------------------
    BUFFER POOL AND MEMORY
    ----------------------
    Total memory allocated 398063986; in additional pool allocated 0
    Dictionary memory allocated 12056
    Buffer pool size 89129
    Free buffers 45671
    Database pages 1367
    Old database pages 0
    Modified db pages 0
    
  • MySQL์˜ SHOW variables ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นด์šดํ„ฐ ๊ฐ’์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž„์‹œ ํ…Œ์ด๋ธ” ์ˆ˜, ์Šค๋ ˆ๋“œ ์ˆ˜, ํ…Œ์ด๋ธ” ์บ์‹œ ์ˆ˜, ๋”ํ‹ฐ ํŽ˜์ด์ง€, ์—ด๋ฆฐ ํ…Œ์ด๋ธ”, ๋ฒ„ํผ ํ’€ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    mysql> SHOW variables like 'VARIABLE_NAME'
    

๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ

๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ์š”์†Œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ถ„์„ํ•œ ํ›„ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์ ˆํ•œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. MySQL์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค์˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด Google Cloud ์ฝ˜์†” ๋˜๋Š” gcloud CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋ž˜๊ทธ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ํ”Œ๋ž˜๊ทธ ์„น์…˜์„ ์ˆ˜์ •ํ•˜๊ณ  ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ์ƒˆ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์—ฌ์ „ํžˆ ๋†’๊ณ  ์‹คํ–‰ ์ค‘์ธ ์ฟผ๋ฆฌ์™€ ํ”Œ๋ž˜๊ทธ ๊ฐ’์ด ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ์ธ์Šคํ„ด์Šค ํฌ๊ธฐ๋ฅผ ๋Š˜๋ ค OOM์„ ๋ฐฉ์ง€ํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„