DB Connection PoolÀ» »ç¿ëÇϱâ À§Çؼ Apache CommonsÀÇ dbcp¸¦ ¸¹ÀÌ »ç¿ëÇÏ°í ÀÖÁö¸¸ ¸Å¹ø ¼³Á¤°ª¿¡ ´ëÇÑ Á¤È®ÇÑ Á¤ÀÇ¿Í ¼³Á¤¹æ¹ýÀ» ±î¸Ô´Â °æÇâÀÌ ÀÖ¾î ÀϹÝÀûÀÎ ¼³Á¤°ª °¡À̵带 ¾ÆÁÖ °£´ÜÈ÷ Á¤¸®ÇÏ°íÀÚ ÇÑ´Ù.
maxActive (ÃÖ´ë active connection °³¼ö??)
+ ±×³É ÃÖ´ë Connection °³¼ö·Î »ý°¢ÇϸéµÈ´Ù. + ±âº»°ªÀº 8À̸ç, Àû´çÈ÷? ¼³Á¤ÇÏ¸é µÈ´Ù.
|
minIdle
+ »ç¿ëµÇÁö ¾Ê°í Ç®¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ¼Ò Ä¿³Ø¼Ç °³¼ö + ±âº»°ªÀº 0À̸ç, ±âº»°ªÀ» »ç¿ëÇÏ°Ô µÇ¸é connection poolÀÌ ºñ¾î¹ö¸± ¼ö Àֱ⠶§¹®¿¡ ±âº»°ª ´ë½Å Àû´çÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
|
maxIdle
+ »ç¿ëµÇÁö ¾Ê°í Ç®¿¡ ÀúÀåµÉ ¼ö ÀÖ´Â ÃÖ´ë Ä¿³Ø¼Ç °³¼ö + ±âº»°ªÀº 8À̸ç, ÀϹÝÀûÀ¸·Î maxActive °³¼ö¿Í µ¿ÀÏÇÏ°Ô ¼³Á¤ÇÏ´Â°Ô ¸Â´Â °Í °°´Ù
|
maxWait
+ connection »ç¿ëÀÌ ¸¹¾ÆÁ®¼ connection poolÀÌ ºñ¾úÀ» ¶§ ´ë±â½Ã°£ (´ÜÀ§ 1/1000ÃÊ) + ±âº»°ªÀº -1(¹«ÇÑ´ë)À̸ç, ¼ºñ½º Ư¼º¿¡ ¸Â°Ô ¼³Á¤ÇϸéµÈ´Ù. ÀϹÝÀûÀ¸·Î ±âº»°ªÀ» »ç¿ëÇصµ Å« ¹®Á¦´Â ¾ÈµÉ °Í °°´Ù.
|
testOnBorrow
+ connection pool¿¡¼ connectionÀ» °¡Á®¿Ã ¶§ ÇØ´ç connectionÀÌ À¯È¿¼º °Ë»ç ¿©ºÎ + ±âº»°ªÀº falseÀ̸ç, ÀϹÝÀûÀ¸·Î ±âº»°ªÀ» »ç¿ëÇÑ´Ù. true¼³Á¤ÇÏ°Ô µÇ¸é ¸Å¹ø validationQuery¸¦ ¼öÇàÇϱ⠶§¹®¿¡ ¾à°£ÀÇ ¼º´ÉÀúÇϸ¦ °¨¼öÇØ¾ß ÇÑ´Ù.
|
testOnRetrun
+ testOnBorrow¿Í ºñ½ÁÇѵ¥... ´Ù¸¸ À¯È¿¼º °Ë»ç ½ÃÁ¡ÀÌ connectionÀ» pool¿¡ ¹ÝȯÇÒ¶§ ÀÌ´Ù. |
timeBetweenEvictionRunsMillis
+ ³î°í ÀÖ´Â connectionÀ» pool¿¡¼ Á¦°ÅÇÏ´Â ½Ã°£±âÁØ (¼³Á¤µÈ ½Ã°£µ¿¾È ³î°í ÀÖ´Â connectionÀ» minIdle&maxIdel ¼³Á¤°ªÀ» °í·ÁÇÏ¿© Á¦°ÅÇÑ´Ù.) + ±âº»°ªÀº -1À̸ç, ´ÜÀ§´Â 1/1000ÃÊÀÌ´Ù. °³ÀÎÀûÀ¸·Î 10ºÐÁ¤µµÀÇ ¼³Á¤ÀÌ Àû´çÇÑ °Í °°´Ù.
|
testWhileIdle
+ ³î°í ÀÖ´Â connectionÀÇ Á¦°Å ¿©ºÎ¸¦ °Ë»çÇÒ ¶§ ÇØ´ç connectionÀÇ À¯È¿¼º Å×½ºÆ® ¿©ºÎ + ±âº»°ªÀº falseÀ̸ç, ÀϹÝÀûÀ¸·Î true·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁÀº °Í °°´Ù.
|
validationQuery
+ connection À¯È¿¼º °Ë»ç½Ã¿¡ »ç¿ëÇÒ Äõ¸®¹® + DB ¸®¼Ò½º¸¦ ÃÖ´ëÇÑ Àû°Ô »ç¿ëÇÏ´Â Äõ¸®¸¦ »ç¿ëÇÏ´Â°Ô ÁÁ´Ù. ¿¹Á¦) * Oracle : select * from dual * MySql : select 1 |
À§ÀÇ ¼³Á¤ ÀÌ¿Ü¿¡µµ Ãß°¡ÀûÀÎ ¼³Á¤ÀÌ ÀÖÁö¸¸, Áö±Ý±îÁö °æÇèÀ¸·Î ºÁ¼´Â ±×´Ú »ç¿ëÇÒ ÀÏÀÌ ¾ø´Â °Í °°¾Æ¼ »ý·«ÇÑ´Ù. (Simple is best!!!)
Ãâó: https://dimdim.tistory.com/entry/DBCPÀÇ-ÀϹÝÀûÀÎ-¼³Á¤°ª-°¡À̵å [µõµõÀÌÀÇ ºí·Î±×:Ƽ½ºÅ丮]