ÃֽŠ°Ô½Ã±Û(DB)
2019.07.16 / 18:47

[Æß]Too many connection ¹®Á¦ ÇØ°á

Źµ¹ÀÌ°³¹ßÀÚ
Ãßõ ¼ö 228

[Æß]Too many connection ¹®Á¦ ÇØ°á

http://netholic.tistory.com/116

 

 

À̹øÇØ ÃʺÎÅÍ ½ÃÀÛµÈ too many connection ¹®Á¦°¡ ÇÏ·ç¿¡ Çѹø¾¿ mysql À» »¸°Ô ¸¸µé¾ú´Ù.
µÇ´Â´ë·Î¡¦ ¾Æ¹«°Íµµ ¸ð¸¥Ã¤·Î ¸¸µç ¿î¿µÅøÀÌ ±× ¿øÀΡ¦ Äõ¸®µµ 10ÃÊ ÀÌ»ó °É¸®´Â °Íµµ Á¸ÀçÇß°í..À妽ºµµ Á¦´ë·Î ¾È°É·ÁÀÖ°í..
±×·¡¼­ ½½·Î¿ì Äõ¸®¸¦ Àâ°í À妽ºµµ Á¦´ë·Î °É¾î¼­¡¦±×·± Äõ¸®¹®Á¦¸¦ ¾ø¾ÚÀ¸·Î¼­ Ä¿³Ø¼Ç ¹®Á¦´Â ¾ø¾îÁú ÁÙ ¾Ë¾Ò´Ù.
±×·±µ¥ ¿©ÀüÈ÷ ÇÏ·ç¿¡ Çѹø¾¿¡¦¼­¹ö¸¦ ³»·È´Ù ¿Ã¸®´Â °É ¹Ýº¹ÇØ¾ß ÇßÀ¸´Ï¡¦. ±×·¡¼­ ´ÙÀ½°ú °°Àº »ðÁú °â.. Àç¼³Á¤ ½ÃÀÛ..
ÀÌÁ¨ ±×¸¸ ÀâÇô´Þ¶ó°í~~~~! ¤Ð¤Ð

Too many connections?
¸ðµç ¿¬°á °¡´ÉÇÑ connections ÀÌ ´Ù¸¥ clients µé¿¡ ÀÇÇØ ¾²ÀÌ°í ÀÖ´Ù´Â ÀǹÌ.. °á±¹ ÀÌ ÀÌÈÄÀÇ Ä¿³Ø¼Ç ¿¬°áÀº ½ÇÆÐÇÏ°Ô µÇ°í max_connect_errors µ¿¾È Ä¿³Ø¼Ç¿¡ ½ÇÆÐÇÏ°Ô µÇ¸é ÀÌ ÀÌÈÄÀÇ ¸ðµç Ä¿³Ø¼ÇÀÌ ºí·¯Å·ÀÌ µÈ´Ù.

ÇØ°á¹æ¹ý 1.

½½·Î¿ì Äõ¸®ÀÇ Á¦°Å, connection À» Áö¼Ó½ÃÅ°´Â ºÒÇÊ¿äÇÑ °ÍµéÀ» Á¦°ÅÇÑ´Ù.
connection ¿¬°á ½Ã°£À» ÃÖ´ëÇÑ ÁÙÀδÙ. jdbc ¼³Á¤¿¡¼­´Â µ¥ÀÌÅͺ£À̽º Ä¿³Ø¼ÇÇ®À» ¸¸µé°í °ü¸®ÇÒ ¼ö ÀÖ´Ù. À̶§ ÀÌ¹Ì ÀÖ´Â Ä¿³Ø¼ÇÀ» Àç»ýÇÏ¿© Àç »ç¿ëÇÏ´Â °ÍÀÌ »õ Ä¿³Ø¼ÇÀ» °¡Á®¿À´Â °Íº¸´Ù È¿À²ÀûÀε¥ À¥ ¾ÖÇø®ÄÉÀ̼Ǽ­ À̵é Ä¿³Ø¼ÇÀ» ´ÝÁö ¸øÇÏ°Ô µÇ¸é ´Ù½Ã Àç»ç¿ëÇÒ ¼ö°¡ ¾ø°Ô µÈ´Ù. À̸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ Jakarta-Commns DBCP ÀÌ´Ù. ¿©±â¼­´Â ¹ö·ÁÁø Ä¿³Ø¼ÇÀ» ÃßÀûÇؼ­ º¹±¸Çϵµ·Ï ¼³Á¤ÇÒ ¼ö Àִµ¥ ÀÌ ¼³Á¤Àº DBCP DataSoure ¼³Á¤À¸·Î ÇÒ ¼ö ÀÖ´Ù.

¶ÇÇÑ mysql_connect() ÇÔ¼ö¸¦ »ç¿ëÇϸé ÇØ´ç ½ºÅ©¸³Æ®ÀÇ Á¾·á¿Í ÇÔ²² ÀÚµ¿À¸·Î ¿¬°áÀÌ Á¾·áµÈ´Ù°í ÇÏÁö¸¸ ½ÇÁ¦·Î »ìÆ캸¸é Ä¿³Ø¼ÇÀº ±×´ë·Î »ì¾ÆÀÖ´Ù. ( ¡± ./mysqladmin -u -p processlist ¡±  ¸í·É¾î·Î È®ÀÎ) ÀÌ°ÍÀº mysql ÀǽÃÀÛ¿É¼Ç Áß wait_timeout °ú ¿¬°üµÈ´Ù. ÀÌ °ª¸¸Å­ ¼­¹ö¿¡ ±×´ë·Î ¿¬°áÀ» À¯ÁöÇÑ Ã¤ ³²¾ÆÀÖ´Â °ÍÀÌ´Ù.

– datasource ¼³Á¤

    // db connection À» Àç »ç¿ëÇÏ°Ú´Ù°í ¼±¾ð (default´Â false ÀÌ´Ù)
admin.datasource.master.jdbc.removeAbandoned=true
//¹ö·ÁÁø connection À¸·Î °£ÁÖÇÏ´Â ½Ã°£Àº 1ºÐÀ¸·Î ¼³Á¤
admin.datasource.master.jdbc.removeAbandonedTimeout = 60
// Àç»ç¿ëÇÏ´Â Ä¿³Ø¼Ç¿¡ ´ëÇÑ ·Î±×¸¦ ³²±â°Ú´Ù°í ¼±¾ð(defaul´Â false ÀÌ´Ù)
admin.datasource.master.jdbc.logAbandoned = true

– wait-timeout ¼³Á¤

  #mysql server ¼³Á¤
   port =3306
socket = /tmp/mysql.sock
¡¦¡¦.±âŸ ¼³Á¤µé
¡¦¡¦.
wait_timeout = 50
#wait_timeout À» 50À¸·Î ÁÙÀÓ

=> ½½·Î¿ì Äõ¸®¸¦ Á¦°ÅÇÏ´Â°Ô ¿ì¼±ÀûÀ¸·Î ÇàÇØÁ®¾ß ÇÑ´Ù. Ä¿³Ø¼ÇÀ» Áö¼Ó½ÃÅ°´Â °¡Àå Å« ¿øÀÎÀ̹ǷΠ½½·Î¿ì Äõ¸®¸¦ ÇØ°áÇϸé Ä¿³Ø¼Ç ¼ö¸¦ °¨¼Ò½Ãų ¼ö ÀÖ´Ù. ¶ÇÇÑ DB ¼­¹öÀÇ Á¢¼ÓÀÌ ¸¹Àº °æ¿ì wait_timeout À» ÃÖ´ëÇÑ Àû°Ô(10~20 Á¤µµ..) ¼³Á¤ÇÏ¿© ºÒÇÊ¿äÇÑ ¿¬°áÀ» »¡¸® Á¤¸®ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÇÏÁö¸¸ Connection Miss Rate(%) °¡ 1% ÀÌ»óÀ̶ó¸é(¾Æ·¡ Æ©´× ºÎºÐ¿¡¼­ ¼³¸í) Á» ´õ ±æ°Ô ÀâÀ» ÇÊ¿ä°¡ ÀÖ´Ù.

ÇØ°á¹æ¹ý 2.

max_connection ¼ö¸¦ Áõ°¡ ½ÃÄÑ connection °³¼ö¸¦ È®º¸ÇÑ´Ù.
ÀÌ ¶§ Ä¿³Ø¼ÇÇ®À» »ç¿ëÇÏ°í ÀÖ´Ù¸é java ¼³Á¤¿¡¼­ jdbc ÀÇ connection-pool ÀÇ ÃÖ´ë µµ °°ÀÌ Áõ°¡½ÃÄÑ¾ß ÇÑ´Ù.

– mysql ¼­¹öÀÇ my.cnf ¿¡  max-connection °³¼ö ¼³Á¤

  #mysql server ¼³Á¤
port =3306
socket = /tmp/mysql.sock
¡¦¡¦.±âŸ ¼³Á¤µé
¡¦¡¦.
max_connections = 200
#Ä¿³Ø¼ÇÀ» 200À¸·Î ¿Ã¸²

– jdbc pool-max ¼³Á¤

   //ÃÖ¼Ò connection pool °³¼ö
admin.datasource.master.jdbc.pool-min=3 ¾Æ·¡ ¹®Á¦ ¹ß»ý! Âü°íÇϼ¼¿ä .
   //ÃÖ´ë connection pool °³¼ö
admin.datasource.master.jdbc.pool-max=100  //max_connections ¿Í ºñ·ÊÇؼ­ Áõ°¨½ÃÄÑ¾ß ÇÑ´Ù.

=> ¹®Á¦: ÇÏ·ç¿¡ º¸Åë »ç¿ëÇÏ´Â connection ¼ö´Â ±âº» 4~50 À̾ú´Ù. ±×·±µ¥ ÀÌ ¿¬°áÀÌ ¾î´À ÇÑ ¼ø°£ 150~180 ÀÌ·¸°Ô Ä¡¼Ú°Ô µÈ´Ù. À̶§ ¿¡·¯°¡ ¹ß»ýÇÏ´Â °Í¡¦ ±âº»ÀûÀ¸·Î connection ¼ö°¡ ¸¹´Ù¸é max connection À» Áõ°¡ ½ÃÅ°´Â °ÍÀÌ ¸ÂÁö¸¸ ¾î´À ¼ø°£ Ä¡¼Ú´Â Ä¿³Ø¼ÇÀ̶ó¸é max¸¦ Áõ°¡ÇÑ´Ù°í ÇØ°áµÇÁö´Â ¾Ê´Â´Ù.

ÇØ°á¹æ¹ý 3.

connection ¿¡ ´ëÇÑ Æ©´×À» ÇÑ´Ù.

1. status

  • Aborted_clients – Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥ÀÌ ºñ Á¤»óÀûÀ¸·Î Á¾·áµÈ ¼ö
  • Aborted_connects – MySQL ¼­¹ö¿¡ Á¢¼ÓÀÌ ½ÇÆÐµÈ ¼ö
  • Max_used_connections – ÃÖ´ë·Î µ¿½Ã¿¡ Á¢¼ÓÇÑ ¼ö
  • Threads_cached – Thread CacheÀÇ Thread ¼ö
  • Threads_connected – ÇöÀç ¿¬°áµÈ Thread ¼ö
  • Threads_created – Á¢¼ÓÀ» À§ÇØ »ý¼ºµÈ Thread ¼ö
  • Threads_running – Sleeping µÇ¾î ÀÖÁö ¾ÊÀº Thread ¼ö

2. system variables

  • wait_timeout – Á¾·áÀü±îÁö ¿äûÀÌ ¾øÀÌ ±â´Ù¸®´Â ½Ã°£ ( TCP/IP ¿¬°á, Shell »óÀÇ Á¢¼ÓÀÌ ¾Æ´Ñ °æ¿ì )
  • thread_cache_size – thread Àç »ç¿ëÀ» À§ÇÑ Thread Cache ¼ö·Î½á, Cache ¿¡ ÀÖ´Â Thread ¼öº¸´Ù Á¢¼ÓÀÌ ¸¹À¸¸é »õ·Ó°Ô Thread¸¦ »ý¼ºÇÑ´Ù.
  • max_connections – ÃÖ´ë µ¿½Ã Á¢¼Ó °¡´É ¼ö

<ÇöÀç ³» mysql Á¤º¸>

 mysql> show variables like ¡®%max_connection%¡¯;
+—————–+——-+
| Variable_name   | Value |
+—————–+——-+
| max_connections | 200   |
+—————–+——-+
1 row in set (0.00 sec)

mysql> show status like ¡®%connect%¡¯;
+———————-+——-+
| Variable_name        | Value |
+———————-+——-+
| Aborted_connects     | 8     |
| Connections          | 10558 |
| Max_used_connections | 32    |
| Threads_connected    | 12    |
+———————-+——-+
4 rows in set (0.01 sec)

mysql> show status like ¡®%clients%¡¯;
+—————–+——-+
| Variable_name   | Value |
+—————–+——-+
| Aborted_clients | 680   |
+—————–+——-+
1 row in set (0.01 sec)

mysql> show status like ¡®%thread%¡¯;
+————————+——-+
| Variable_name          | Value |
+————————+——-+
| Delayed_insert_threads | 0     |
| Slow_launch_threads    | 0     |
| Threads_cached         | 4     |
| Threads_connected      | 14    |
| Threads_created        | 246   |
| Threads_running        | 1     |
+————————+——-+
6 rows in set (0.02 sec)

<°è»ê½Ä>
Cache Miss Rate(%) =  (Threads_created / Connections) * 100
Connection Miss Rate(%) = (Aborted_connects / Connections) * 100
Connection Usage(%) = (Threads_connected / max_connections) * 100

(³ªÀÇ °æ¿ì´Â Cache Miss Rate(%) = 2.3%, Connection Miss Rate(%) = 0.08%, Connection Usage(%) = 7% ÀÌ´Ù.
peak time ¶§ °è»êÇغ¸´Â °ÍÀÌ Á߿䡦)

– > ¼³¸í

 

  • Connection Usage(%)°¡ 100% ¶ó¸é max_connections ¼ö¸¦ Áõ°¡½ÃÄÑ Áֽʽÿä. Connection ¼ö°¡ ºÎÁ·ÇÒ °æ¿ì Too many connection ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù.
  • DB ¼­¹öÀÇ Á¢¼ÓÀÌ ¸¹Àº °æ¿ì´Â wait_timeout À» ÃÖ´ëÇÑ Àû°Ô (10~20 Á¤µµ¸¦ Ãßõ) ¼³Á¤ÇÏ¿© ºÒÇÊ¿äÇÑ ¿¬°áÀ» »¡¸® Á¤¸®ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ±×·¯³ª Connection Miss Rate(%) °¡ 1% ÀÌ»óÀÌ µÈ´Ù¸é wait_timeout À» Á» ´õ ±æ°Ô Àâ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
  • Cache Miss Rate(%) °¡ ³ô´Ù¸é thread_cache_size¸¦ ±âº»°ªÀÎ 8 º¸´Ù ³ô°Ô ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î threads_connected °¡ Peak-time ½Ã º¸´Ù ¾à°£ ³·Àº ¼öÄ¡·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
  • MySQL ¼­¹ö´Â ¿ÜºÎ·Î ºÎÅÍ Á¢¼Ó ¿äûÀ» ¹ÞÀ» °æ¿ì ÀÎÁõÀ» À§ÇØ IP ÁÖ¼Ò¸¦ È£½ºÆ®³×ÀÓÀ¸·Î ¹Ù²Ù´Â °úÁ¤À» ¼öÇàÇÏ¿© Á¢¼Ó½Ã¿¡ ºÒÇÊ¿äÇÑ ºÎÇÏ°¡ ¹ß»ýÇÏ°Ô µË´Ï´Ù. skip-name-resolve¸¦ ¼³Á¤ÇϽðí Á¢¼Ó½Ã¿¡ IP ±â¹ÝÀ¸·Î Á¢¼ÓÀ» ÇÏ°Ô µÇ¸é hostname lookup °úÁ¤À» »ý·«ÇÏ°Ô µÇ¾î Á» ´õ ºü¸£°Ô Á¢¼ÓÀ» ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

    =============================================================================
    ¹®Á¦ ÇØ°á!!

 

³» °æ¿ì´Â wait_timeout °ú Cache Miss Rate ¿¡ ¹®Á¦°¡ ÀÖ¾ú´Ù.
¿ø·¡ wait_timeout ÀÌ 28800 À¸·Î ¼³Á¤µÇ¾î ÀÖ¾ú°í Threads_cashed °¡ 0 À¸·Î µÇ¾îÀÖ¾ú±â¿¡ thread_created °¡ connection ¼ö¸¸Å­ Áõ°¡ÇÏ¿´´ø °Í..
ÀÌ·¸°Ô ¼³Á¤ ÈÄ mysqlÀ» Àç½ÃÀÛ ÇÏ°Ô ÇÑ Áö±ÝÀº connection ÀÌ Ä¡¼Ú´Â Çö»óÀº ¾ø´Â µíÇÏ´Ù.
¾ÆÁ÷Àº¡¦Á¶±Ý ´õ ÁöÄѺÁ¾ß°ÚÁö¸¸ ¿¹Àü¿¡ ºñÇØ ¿¬°á Á¤µµ°¡ ¾ÈÁ¤ÀûÀÎ°Í °°´Ù. ÀÌ°ÍÀ¸·Î ´õÀÌ»ó 500 Too many connection À̶õ ±ÛÀÚ¸¦ ¾È ºÃÀ¸¸é ÇÑ´Ù.. ¤Ð¤Ð ½Ã´Þ¸°´Ù Á¤¸»¡¦.
======================================================

!!! ÇØ°á ÇÑ ÁÙ ¾Ë¾Ò´ø ¹®Á¦ ¶Ç ¹ß»ý!!

À̹ø¿£¡¦oraqle ÀÌ´Ù¡¦¾îÈÞ ÀÌ°Ç DB ¼³Á¤ ¸ø °ÇµéÀ̴µ¥¡¦.
ÀÚ²Ù ¿äûÀÌ ¿Ã ¶§ ¸¶´Ù Ä¡¼Ú´Â connection ¼ö.. ¿ÜºÎ¼­ ¹èÄ¡·Î 2¸¸°³ÀÇ Äõ¸®°¡ ³¯¶ó¿À´Â °Í ¶«¿¡ ¸®½º³Ê°¡ ¸ÀÀÌ °¥ Á¤µµ¿´´Ù..

DB ¼³Á¤°ú jdbc ¼³Á¤ÀÌ ¾È ¸Â´Â°Ô ÀÌ»óÇÏ¿© Å×½ºÆ®¸¦ Çغ¸¾Ò´Ù.
jdbc ¼³Á¤ °íÄ¡±â..
Ä¿³Ø¼Ç Ç® ÀÇ ¼Ó¼º Àº ¾Æ·¡¿Í °°´Ù.

¼Ó¼º¼³¸í
maxActiveÄ¿³Ø¼Ç Ç®ÀÌ Á¦°øÇÒ ÃÖ´ë Ä¿³Ø¼Ç °³¼ö
whenExhaustedActionÄ¿³Ø¼Ç Ç®¿¡¼­ °¡Á®¿Ã ¼ö ÀÖ´Â Ä¿³Ø¼ÇÀÌ ¾øÀ» ¶§ ¾î¶»°Ô µ¿ÀÛÇÒÁö¸¦ ÁöÁ¤ÇÑ´Ù. 1ÀÏ °æ¿ì maxWait ¼Ó¼º¿¡¼­ ÁöÁ¤ÇÑ ½Ã°£¸¸Å­ Ä¿³Ø¼ÇÀ» ±¸ÇÒ ¶§ ±îÁö ±â´Ù¸®¸ç, 0ÀÏ °æ¿ì ¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù. 2ÀÏ °æ¿ì¿¡´Â ÀϽÃÀûÀ¸·Î Ä¿³Ø¼ÇÀ» »ý¼ºÇؼ­ »ç¿ëÇÑ´Ù.
maxWaitwhenExhaustedAction ¼Ó¼ºÀÇ °ªÀÌ 1ÀÏ ¶§ »ç¿ëµÇ´Â ´ë±â ½Ã°£. ´ÜÀ§´Â 1/1000ÃÊÀ̸ç, 0 º¸´Ù ÀÛÀ» °æ¿ì ¹«ÇÑÈ÷ ´ë±âÇÑ´Ù.
maxIdle»ç¿ëµÇÁö ¾Ê°í Ç®¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ´ë Ä¿³Ø¼Ç °³¼ö. À½¼öÀÏ °æ¿ì Á¦ÇÑÀÌ ¾ø´Ù.
minIdle»ç¿ëµÇÁö ¾Ê°í Ç®¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ¼Ò Ä¿³Ø¼Ç °³¼ö.
testOnBorrowtrueÀÏ °æ¿ì Ä¿³Ø¼Ç Ç®¿¡¼­ Ä¿³Ø¼ÇÀ» °¡Á®¿Ã ¶§ Ä¿³Ø¼ÇÀÌ À¯È¿ÇÑÁöÀÇ ¿©ºÎ¸¦ °Ë»çÇÑ´Ù.
testOnReturntrueÀÏ °æ¿ì Ä¿³Ø¼Ç Ç®¿¡ Ä¿³Ø¼ÇÀ» ¹ÝȯÇÒ ¶§ Ä¿³Ø¼ÇÀÌ À¯È¿ÇÑÁöÀÇ ¿©ºÎ¸¦ °Ë»çÇÑ´Ù.
timeBetweenEvctionRunsMillis»ç¿ëµÇÁö ¾ÊÀº Ä¿³Ø¼ÇÀ» ÃßÃâÇÏ´Â ¾²·¹µåÀÇ ½ÇÇà Áֱ⸦ ÁöÁ¤ÇÑ´Ù. ¾ç¼ö°¡ ¾Æ´Ò °æ¿ì ½ÇÇàµÇÁö ¾Ê´Â´Ù. ´ÜÀ§´Â 1/1000 ÃÊÀÌ´Ù.
numTestsPerEvictionRun»ç¿ëµÇÁö ¾Ê´Â Ä¿³Ø¼ÇÀ» ¸î °³ °Ë»çÇÒÁö ÁöÁ¤ÇÑ´Ù.
minEvictableIdleTimeMillis»ç¿ëµÇÁö ¾Ê´Â Ä¿³Ø¼ÇÀ» ÃßÃâÇÒ ¶§ ÀÌ ¼Ó¼º¿¡¼­ ÁöÁ¤ÇÑ ½Ã°£ ÀÌ»ó ºñÈ°¼ºÈ­ »óÅÂÀÎ Ä¿³Ø¼Ç¸¸ ÃßÃâÇÑ´Ù. ¾ç¼ö°¡ ¾Æ´Ñ °æ¿ì ºñÈ°¼ºÈ­µÈ ½Ã°£À¸·Î´Â Ç®¿¡¼­ Á¦°ÅµÇÁö ¾Ê´Â´Ù. ½Ã°£ ´ÜÀ§´Â 1/1000ÃÊÀÌ´Ù.
testWhileIdletrueÀÏ °æ¿ì ºñÈ°¼ºÈ­ Ä¿³Ø¼ÇÀ» ÃßÃâÇÒ ¶§ Ä¿³Ø¼ÇÀÌ À¯È¿ÇÑÁöÀÇ ¿©ºÎ¸¦ °Ë»çÇؼ­ À¯È¿ÇÏÁö ¾ÊÀº Ä¿³Ø¼ÇÀº Ç®¿¡¼­ Á¦°ÅÇÑ´Ù.


ÀÌ Áß..minIdle Àº »ç¿ëµÇÁö ¾Ê°í Ç®¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ¼Ò Ä¿³Ø¼ÇÀ̶õ´Ù..±×·¡ ÃּҴϱî ÃÖ¼ÒÇÑÀ¸·Î ²÷Áö ¾Ê°í ¿¬°áÇØµÎ¸é ³ªÁß¿¡ Ä¿³Ø¼Ç ¿äû ½Ã ´Ù½Ã ¸ÎÁö ¾Ê°í ÀÖ´Â °É ¾µÅ×´Ï È¿À²ÀûÀÌ°ÚÁö¡¦¶ó°í »ý°¢Çß´Ù¸¸!! ÀÌ°Ô Ä¿³Ø¼ÇÀ» ÁÙ¾îµéÁö ¾Ê°Ô ¸¸µç ¿øÀÎÀÌ µÇ°í ÀÖ¾ú´Ù. ¿Ö±×·²±î ÀDZ¸½ÉÀº ÁõÆø.. Ȥ½Ã pool ÀÚü°¡ Çϳª°¡ ¾Æ´Ï°í ¿©·¯°³°¡ »ý¼ºÀÌ µÇ³ª ÇÏ´Â ÀǽÉÀ» ÇÏ°Ô µÈ´Ù.
°¢ pool ¸¶´Ù ÃÖ¼Ò Ä¿³Ø¼ÇÀ» À¯ÁöÇÏ´Ùº¸´Ï Ä¿³Ø¼ÇÀÌ ÁÙÁö ¾Ê´Â °Ô ¾Æ´Ò±î¡¦ ±Ùµ¥ ±×·³ ÀÌ°Ô ÀÖ´Â Àǹ̰¡ ¾øÀݾơ¦¤Ð¤Ð

Çì°í..ÀÏ´Ü minIdleÀ» 0À¸·Î °ú°¨È÷ ¼¼ÆÃÇعö·È´Ù..¹«½ÄÇÏÁö¸¸¡¦ÀÏ´Ü È¿À²º¸´Ù DB°¡ Á׾°Ô »ý°å´Ù¡¦
– jdbc pool-max ¼³Á¤À» ¾Æ·¡¿Í °°ÀÌ ¹Ù²ãº¸ÀÚ

   //ÃÖ¼Ò connection pool °³¼ö
admin.datasource.master.jdbc.pool-min=0   // Ä¿³Ø¼Ç Ç® ¿¡ ³²¾ÆÀÖÁö ¾Ê°Ô ¹Ù²Þ..
admin.datasource.master.jdbc.pool-max=20  //max_connections ¿Í ºñ·ÊÇؼ­ Áõ°¨½ÃÄÑ¾ß ÇÑ´Ù.


Âü°í! À§¿¡¼­ ¸»ÇÑ DB ¼³Á¤ ÇØ°á¹æ¹ýÀº DB ¿¡¼­ °­Á¦·Î Ä¿³Ø¼ÇÀ» ²÷¾îÁÖ´Â °Í¿¡ ¹ÝÇÏ¿© ¾Æ·¡´Â DB Á¢¼ÓÇÏ´Â Ãø¿¡¼­ connection À» ±×¶§ ±×¶§ ²÷¾îÁָ鼭 Á¢±ÙÇÏ´Ï±î ¾Æ·¡ ¹æ¹ýÀÌ ÀÏ´Ü ´õ ³´´Ù°í º»´Ù..