[์Šคํ”„๋ง DB 1ํŽธ] - 2. ์ปค๋„ฅ์…˜ํ’€(Connection Pool)

2023. 3. 14. 19:42ยทSpring/Spring DB

 

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜์„ ๋งค๋ฒˆ ํš๋“(๋ณต์žกํ•œ ๊ณผ์ •)

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜์„ ํš๋“ํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

 

0. ์‚ฌ์šฉ์ž ์š”์ฒญ 

 

1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์€ DB ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ†ตํ•ด ์ปค๋„ฅ์…˜์„ ์กฐํšŒํ•œ๋‹ค.

 

2. DB ๋“œ๋ผ์ด๋ฒ„๋Š” DB ์™€ TCP/IP ์ปค๋„ฅ์…˜์„ ์—ฐ๊ฒฐํ•œ๋‹ค.

๋ฌผ๋ก  ์ด๊ณผ์ •์—์„œ 3 way handshake ๊ฐ™์€ TCP/IP ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ๋™์ž‘์ด ๋ฐœ์ƒํ•œ๋‹ค.

 

3. DB ๋“œ๋ผ์ด๋ฒ„๋Š” TCP/IP ์ปค๋„ฅ์…˜์ด ์—ฐ๊ฒฐ๋˜๋ฉด, ID/PW์™€ ๊ธฐํƒ€ ๋ถ€๊ฐ€์ •๋ณด๋ฅผ DB์— ์ „๋‹ฌํ•œ๋‹ค. 

 

4. DB๋Š” ID,PW๋ฅผ ํ†ตํ•ด ๋‚ด๋ถ€ ์ธ์ฆ์„ ์™„๋ฃŒํ•˜๊ณ , ๋‚ด๋ถ€์— DB ์„ธ์…˜์„ ์ƒ์„ฑํ•œ๋‹ค. 

 

5. DB๋Š” ์ปค๋„ฅ์…˜ ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค.

 

6. DB ๋“œ๋ผ์ด๋ฒ„๋Š” ์ปค๋„ฅ์…˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

 

 

 

 

 ์ด๋ ‡๊ฒŒ ์ปค๋„ฅ์…˜์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๊ณผ์ •๋„ ๋ณต์žกํ•˜๊ณ  ์‹œ๊ฐ„๋„ ๋งŽ์ด ๋งŽ์ด ์†Œ๋ชจ๋˜๋Š” ์ผ์ด๋‹ค.

 

DB๋Š” ๋ฌผ๋ก ์ด๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์—์„œ๋„ TCP/IP ์ปค๋„ฅ์…˜์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งค๋ฒˆ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


์ง„์งœ ๋ฌธ์ œ๋Š” ๊ณ ๊ฐ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ, SQL์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ๊ฐ„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ

 

์ปค๋„ฅ์…˜์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ์‹œ๊ฐ„์ด ์ถ”๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‘๋‹ต ์†๋„์— ์˜ํ–ฅ์„ ์ค€๋‹ค.

 

 

 

 

์ปค๋„ฅ์…˜ ํ’€ 

 

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•œ๋ฒˆ์— ํ•ด๊ฒฐํ•˜๋Š” ์•„์ด๋””์–ด๊ฐ€ ๋ฐ”๋กœ ์ปค๋„ฅ์…˜์„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด๋‘๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ปค๋„ฅ์…˜ ํ’€์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.


์ปค๋„ฅ์…˜ ํ’€์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ปค๋„ฅ์…˜์„ ๊ด€๋ฆฌํ•˜๋Š” ํ’€(์ˆ˜์˜์žฅ ํ’€์„ ์ƒ์ƒํ•˜๋ฉด ๋œ๋‹ค.)์ด๋‹ค.

 

 

์ปค๋„ฅ์…˜ ํ’€ ์ดˆ๊ธฐํ™”

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ์‹œ์ ์— ์ปค๋„ฅ์…˜ ํ’€์€ ํ•„์š”ํ•œ ๋งŒํผ ์ปค๋„ฅ์…˜์„ ๋ฏธ๋ฆฌ ํ™•๋ณดํ•ด์„œ ํ’€์— ๋ณด๊ด€ํ•œ๋‹ค.

 

๋ณดํ†ต ์–ผ๋งˆ๋‚˜ ๋ณด๊ด€ํ•  ์ง€๋Š” ์„œ๋น„์Šค์˜ ํŠน์ง•๊ณผ ์„œ๋ฒ„ ์ŠคํŽ™์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ๊ธฐ๋ณธ๊ฐ’์€ ๋ณดํ†ต 10๊ฐœ์ด๋‹ค.

 

 

์ปค๋„ฅ์…˜ ํ’€์˜ ์—ฐ๊ฒฐ ์ƒํƒœ

 

์ปค๋„ฅ์…˜ ํ’€์— ๋“ค์–ด ์žˆ๋Š” ์ปค๋„ฅ์…˜์€ TCP/IP๋กœ DB์™€ ์ปค๋„ฅ์…˜์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ๋“ ์ง€ ์ฆ‰์‹œ SQL์„ DB์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ปค๋„ฅ์…˜ ํ’€ ์‚ฌ์šฉ1

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์—์„œ ์ด์ œ๋Š” DB ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ†ตํ•ด์„œ ์ƒˆ๋กœ์šด ์ปค๋„ฅ์…˜์„ ํš๋“ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

 

์ด์ œ๋Š” ์ปค๋„ฅ์…˜ ํ’€์„ ํ†ตํ•ด ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ์ปค๋„ฅ์…˜์„ ๊ฐ์ฒด ์ฐธ์กฐ๋กœ ๊ทธ๋ƒฅ ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

 

์ปค๋„ฅ์…˜ ํ’€์— ์ปค๋„ฅ์…˜์„ ์š”์ฒญํ•˜๋ฉด ์ปค๋„ฅ์…˜ ํ’€์€ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ปค๋„ฅ์…˜ ์ค‘์— ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

์ปค๋„ฅ์…˜ ํ’€ ์‚ฌ์šฉ2

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์€ ์ปค๋„ฅ์…˜ ํ’€์—์„œ ๋ฐ›์€ ์ปค๋„ฅ์…˜์„ ์‚ฌ์šฉํ•ด์„œ SQL์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ „๋‹ฌํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.


์ปค๋„ฅ์…˜์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜๋ฉด ์ด์ œ๋Š” ์ปค๋„ฅ์…˜์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,

 

๋‹ค์Œ์— ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ์ปค๋„ฅ์…˜์„ ๊ทธ๋Œ€๋กœ ์ปค๋„ฅ์…˜ ํ’€์— ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.

 

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ์ปค๋„ฅ์…˜์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ปค๋„ฅ์…˜์ด ์‚ด์•„์žˆ๋Š” ์ƒํƒœ๋กœ ์ปค๋„ฅ์…˜ ํ’€์— ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

 

์ •๋ฆฌ

 

์ ์ ˆํ•œ ์ปค๋„ฅ์…˜ ํ’€ ์ˆซ์ž๋Š” ์„œ๋น„์Šค์˜ ํŠน์ง•๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์ŠคํŽ™, DB ์„œ๋ฒ„ ์ŠคํŽ™์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด์„œ ์ •ํ•ด์•ผ ํ•œ๋‹ค.


์ปค๋„ฅ์…˜ ํ’€์€ ์„œ๋ฒ„๋‹น ์ตœ๋Œ€ ์ปค๋„ฅ์…˜ ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ DB์— ๋ฌดํ•œ์ • ์—ฐ๊ฒฐ์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์•„์ฃผ์–ด์„œ DB๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ํšจ๊ณผ๋„ ์žˆ๋‹ค.

 

์ด๋Ÿฐ ์ปค๋„ฅ์…˜ ํ’€์€ ์–ป๋Š” ์ด์ ์ด ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค๋ฌด์—์„œ๋Š” ํ•ญ์ƒ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.


์ปค๋„ฅ์…˜ ํ’€์€ ๊ฐœ๋…์ ์œผ๋กœ ๋‹จ์ˆœํ•ด์„œ ์ง์ ‘ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ,

 

์‚ฌ์šฉ๋„ ํŽธ๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ๋„ ๋›ฐ์–ด๋‚œ ์˜คํ”ˆ์†Œ์Šค ์ปค๋„ฅ์…˜ ํ’€์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์˜คํ”ˆ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

๋Œ€ํ‘œ์ ์ธ ์ปค๋„ฅ์…˜ ํ’€ ์˜คํ”ˆ์†Œ์Šค๋Š” commons-dbcp2 , tomcat-jdbc pool , HikariCP ๋“ฑ์ด ์žˆ๋‹ค.


์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์˜ ํŽธ๋ฆฌํ•จ ์ธก๋ฉด์—์„œ ์ตœ๊ทผ์—๋Š” hikariCP ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

์Šคํ”„๋ง ๋ถ€ํŠธ 2.0 ๋ถ€ํ„ฐ๋Š” ๊ธฐ๋ณธ ์ปค๋„ฅ์…˜ ํ’€๋กœ hikariCP ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

์„ฑ๋Šฅ, ์‚ฌ์šฉ์˜ ํŽธ๋ฆฌํ•จ, ์•ˆ์ „์„ฑ ์ธก๋ฉด์—์„œ ์ด๋ฏธ ๊ฒ€์ฆ์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปค๋„ฅ์…˜ ํ’€์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ณ ๋ฏผํ•  ๊ฒƒ ์—†์ด hikariCP ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

์‹ค๋ฌด์—์„œ๋„ ๋ ˆ๊ฑฐ์‹œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ ์ด์ƒ ๋Œ€๋ถ€๋ถ„ hikariCP ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard

 

์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ DB ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ์›๋ฆฌ์™€ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋” ๊นŠ์ด์žˆ๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., - ๊ฐ•์˜

www.inflearn.com

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Spring > Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์Šคํ”„๋ง DB 1ํŽธ] - 6. DB ๋ฝ  (0) 2023.03.19
[์Šคํ”„๋ง DB 1ํŽธ] - 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ DB ์„ธ์…˜  (0) 2023.03.15
[์Šคํ”„๋ง DB 1ํŽธ] - 4. ํŠธ๋žœ์žญ์…˜  (0) 2023.03.15
[์Šคํ”„๋ง DB 1ํŽธ] - 3. DataSource ์ดํ•ด  (0) 2023.03.14
[์Šคํ”„๋ง DB 1ํŽธ] - 1. JDBC ์ดํ•ด  (0) 2023.03.13
'Spring/Spring DB' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์Šคํ”„๋ง DB 1ํŽธ] - 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ DB ์„ธ์…˜
  • [์Šคํ”„๋ง DB 1ํŽธ] - 4. ํŠธ๋žœ์žญ์…˜
  • [์Šคํ”„๋ง DB 1ํŽธ] - 3. DataSource ์ดํ•ด
  • [์Šคํ”„๋ง DB 1ํŽธ] - 1. JDBC ์ดํ•ด
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
[์Šคํ”„๋ง DB 1ํŽธ] - 2. ์ปค๋„ฅ์…˜ํ’€(Connection Pool)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”