์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ์ ๋ฆฌํธ๋ฆฌํธ
- css
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- dmz๊ตฌ์ฑ
- ์ฑ
- JavaScript
- ๊ฐ๋ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ผํด
- database
- Python
- dmz๋
- dmz๋คํธ์ํฌ
- ๋ฐฉํ๋ฒฝdmz
- ๋คํธ์ํฌdmz
- ์นํผ๋ธ๋ฆฌ์ฑ
- ํ์ฒ์ ๋ฆฌํธ๋ฆฌํธ
- Java
- ํ๋ก๊ทธ๋๋ฐ
- ๋๊ฐ
- ๋ ์
- ํ์ด์ฌ
- ์ฝ๋ฉ
- ์ค๋ธ์
- ์ํ
- ์๋ฐ์คํฌ๋ฆฝํธ
- html
- ์นดํ๋๊ฐ
- ์๋ฐ
- ๊ฐ์์ ์
- Today
- Total
JiYoung Dev ๐ฅ
DBCP ValidationQuery ์ดํด ๋ฐ ์ค์ ํ๊ธฐ ๋ณธ๋ฌธ
ํ์ฌ ํํ์ด์ง์ ์๋ฒ๋ฅผ ์ด๊ดํด์ผ ํ๋ ์ผ์ด ์๊ฒผ๋ค. ์ด๋ ค์ด ์์ ์ด ์๋๋ผ ๋ช ์๊ฐ ์ก๊ณ tomcat ์๋ฒ๋ฅผ ํต์ผ๋ก ๋ณต์ฌํ๊ณ , Mysql์์ MariaDB๋ก DB ์ด๊ด ์์ ์ ์งํํ๋ค. ์์ ๋ค์ ์งํํ ํ ํด๋น URL๋ก ์ ์ํ์ ๋์๋ ์ ์์ ์ผ๋ก ๋์ํ๋๋ฐ, ์๊ฐ์ด ํ๋ฅธ ๋ค ์ ์ํ๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
2024-11-21 17:36:19,302 ERROR [egovframework.com.cmm.EgovComOthersExcepHndlr] egovframework.let.cop.bbs.service.impl.EgovBBSManageServiceImpl.selectBoardArticles org.springframework.transaction.CannotCreateTransactionException:
Could not open JDBC Connection for transaction; nested exception is java.sql.SQLNonTransientConnectionException: (conn=43) Connection reset
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:289) ~[spring-jdbc-4.3.16.RELEASE.jar:4.3.16.RELEASE]
์๋ก๊ณ ์นจ์ ํ๋ ๋ค์ ์ ์์ ์ผ๋ก ๋์ํ๊ณ , ๊ตฌ๊ธ๋ง ๊ฒฐ๊ณผ DBCP ValidationQuery์ ๊ด๋ จ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๋ฐ๋ผ์ ์ค๋์ DBCP ValidationQuery์ ๋ํด ์์๋ณด๊ณ ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด๊ณ ์ ํ๋ค.
๐ ๋ฐ์์์ธ
๋ฐ์ ์์ธ์ ์ดํดํ๊ธฐ ์ํด ํ์๋ก ํ๋ ๋ช๊ฐ์ง ์ด๋ก ์ ๋ํด ๋จผ์ ์ค๋ช
ํ๊ฒ ๋ค.
DBCP(Database Connection Pool)
์น์ปจํ ์ด๋(WAS)๊ฐ ์คํ๋๋ฉด์ DB์ ๋ฏธ๋ฆฌ Connection(์ฐ๊ฒฐ)์ ํด๋์ ๊ฐ์ฒด๋ค์ pool์ ์ ์ฅํด๋์๋ค๊ฐ, ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ค๋ฉด connection์ ๋น๋ ค์ฃผ๊ณ , ์ฒ๋ฆฌ๊ฐ ๋๋๋ฉด ์คํ๋ ์ํ๋ก ๋ค์ connection์ ๋ฐ๋ฉ ๋ฐ์ pool์ ์ ์ฅํ๋ ๋ฐฉ์์ ๋งํ๋ค.
๋ง์ฝ ์ฌ์ฉ์๊ฐ ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ์ปค๋ฅ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฐ๊ฒฐํ๊ณ ์ข ๋ฃํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Connection์ ๋งบ๋ ์์ ์์ฒด๊ฐ ๋งค์ฐ ๋๋ฆฌ๋ฉฐ ์์์ ๋ง์ด ์๋ชจํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ปค๋ฅ์ ํ(DBCP)๋ฅผ ํตํด ๊ธฐ์กด pool์ ์กด์ฌํ๋ connection์ ์ฌ์ฌ์ฉํ๋ค.
- DB Connection ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ๊ฐ ์์ฑํ ๋ค Pool์ ๋ด์ ๋๊ณ ํ์ํ ๋ ๋ถ๋ฌ์์ ์ฌ์ฉ
- ๋ง์ฝ, ๋น๋ ค์ค ์ ์๋ Connection์ด ์๋ค๋ฉด Connection ๊ฐ์ฒด๊ฐ ๋ฐํํ ๋๊น์ง ํด๋ผ์ด์ธํธ๋ ๋๊ธฐ ์ํ๋ก ์ ํ
- ์ฌ์ฉ์ด ๋๋ Connection ๊ฐ์ฒด๋ ๋ค๋ฅธ ์์ ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก Pool์ ๋ฐํ
DBCP ValidationQuery
ValidationQuery๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ด ์ ํจํ์ง ํ์ธํ๊ธฐ ์ํด ์คํ๋๋ SQL๋ฌธ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Apache Commons DBCP, HikariCP ๋ฑ)์์ ๊ด๋ฆฌ๋๋ ์ปค๋ฅ์ ๊ฐ์ฒด๊ฐ ์ ์์ ์ผ๋ก ๋์ํ๋์ง ํ์ธํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
ValidationQuery ์ค์ ์ ์๋ฒ ํ๊ฒฝ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ฌ์ฉ ์ฌ๋ถ๊ฐ ๋ฌ๋ผ์ง๋ ๋๋ถ๋ถ์ ํ๊ฒฝ์์๋ ValidationQuery๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. ValidationQuery ๋์ Keep-Alive ์ต์ ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
- ValidationQuery๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- ์ ํด ์๊ฐ์ด ๊ธด ์ ํ๋ฆฌ์ผ์ด์ : ์ผ๊ฐ์ ์ ํด ์ํ๊ฐ ๋ง๊ณ , ์์นจ์ ํธ๋ํฝ์ด ์ฆ๊ฐํ๋ ์๋น์ค
- ๋คํธ์ํฌ ํ๊ฒฝ์ด ์์ ์ ์ด์ง ์๊ฑฐ๋ DB ์๋ฒ๊ฐ ๊ฐํ์ ์ผ๋ก ์ฌ์์๋๋ ๊ฒฝ์ฐ
- ๋๊ท๋ชจ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ
- ๋ค์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ
- ValidationQuery๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ
- ValidationQuery๋ ์ถ๊ฐ ์ฟผ๋ฆฌ ์คํ ์ค๋ฒํค๋๋ฅผ ์ ๋ฐํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ์ค์ํ ๊ฒฝ์ฐ๋ ์ฌ์ฉํ์ง ์๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ DB๊ฐ ๊ฐ์ ๋คํธ์ํฌ ๋ด์์ ๋์ํ๋ฉฐ, ์ฐ๊ฒฐ์ด ์์ ์ ์ด๊ณ ๋ฌธ์ ๊ฐ ๋๋ฏ ๊ฒฝ์ฐ ์๋ต ๊ฐ๋ฅ
- ์ปค๋ฅ์ ์ด ์งง์ ์ฃผ๊ธฐ๋ก ์ฌํ์ฉ๋๊ฑฐ๋ ์์ฃผ ์๋ก์ด ์ปค๋ฅ์ ์ด ์์ฑ๋๋ ๊ฒฝ์ฐ
ValidationQuery๋ฅผ ์ฌ์ฉํ๋ ์ด์
- ์ ํด ์ปค๋ฅ์
๋ฌธ์ ํด๊ฒฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ด ์ค๋ ์๊ฐ ๋์ ์ฌ์ฉ๋์ง ์์ผ๋ฉด ๋คํธ์ํฌ ๋ฌธ์ , DB ์๋ฒ ์ฌ์์, ์ธ์ ๋ง๋ฃ ๋ฑ์ผ๋ก ์ธํด ํด๋น ์ฐ๊ฒฐ์ด ๋์ด์ง ์ ์๋ค. ๊ทธ๋ฌ๋ ์ปค๋ฅ์ ํ์ ์ฌ์ ํ ์ด ์ฐ๊ฒฐ์ ‘์ฌ์ฉ ๊ฐ๋ฅ’์ผ๋ก ๊ฐ์ฃผํ ์ ์๋ค. ์ด ์ํ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ปค๋ฅ์ ์ ์์ฒญํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- ์์ ์ ์ธ ์ฐ๊ฒฐ ๋ณด์ฅ
- ํ๋ง๋ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํญ์ ์ ์์ ์ธ ์ปค๋ฅ์ ๋ง ์ฌ์ฉํ๋๋ก ๋ณด์ฅํ๋ค.
ValidationQuery ์๋ ๋ฐฉ์
- ์ปค๋ฅ์ ํ์์ ์ปค๋ฅ์ ์ ์ ๊ณตํ๊ธฐ ์ ์ ์ค์ ๋ ValidationQuery๋ฅผ ์คํํ๋ค.
- ์ด ์ฟผ๋ฆฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋๋ฉด ํด๋น ์ปค๋ฅ์ ์ ‘์ ํจ’ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
- ์คํจํ ๊ฒฝ์ฐ, ํด๋น ์ปค๋ฅ์ ์ ํ๊ธฐ๋๋ฉฐ ์๋ก์ด ์ปค๋ฅ์ ์ ์์ฑํ๋ค.
์์ ๋ด์ฉ์ ํ ๋๋ก ์์ธก๋ ์์ธ์ ‘์ ํด ์ฐ๊ฒฐ ๊ด๋ฆฌ ๋ฌธ์ ’์ด๋ค. ์ผ๋ฐ์ ์ธ ํ๊ฒฝ์์๋ ์ ๋์ํ์ง๋ง, ์ผ์ ์๊ฐ์ด ์ง๋ ์ ํด ์ํ๋ก ์๋ ์ฐ๊ฒฐ์ด ๋์ด์ง ํ ์ฌ์ฌ์ฉ์ ์๋ํ๋ฉด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
์ด๊ดํ ์๋ฒ๋ ์์ง ๊ณต๊ฐ๋ ์ฌ์ดํธ๊ฐ ์๋๋ฏ๋ก ์ฌ์ฉ์๊ฐ ์๋ ๊ด๊ณ๋ก ์ ํด์๊ฐ์ด 8์๊ฐ ์ด์์ผ๋ก ๊ธธ์ด์ ธ ํด๋น ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ์ด๋๋ก ๋์ด๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์์ ๊ฒ ๊ฐ์์ผ๋ ํน์ ์ถํ ์ฌ์ฉ์ ์ ์์ ์๊ฐ 8์๊ฐ ์ด๋ด์ ํ ๋ฒ๋ ์ ๋ค์ด์ฌ ๊ฐ๋ฅ์ฑ๋ ์๊ธฐ ๋๋ฌธ์ ํด๋น ์๋ฌ๋ ํด๊ฒฐํ๊ณ ๋์ด๊ฐ๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
#mysql/mariadb wait timeout ํ์ธ
SHOW VARIABLES LIKE 'wait_timeout';
#mysql/mariadb interactive timeout ํ์ธ
SHOW VARIABLES LIKE 'interactive_timeout';
์ด๊ดํ MariaDB์ wait_time์ 8์๊ฐ ์ด์๋ค.
์ฆ, ์ ์ ๋์์ ํ์ธํ ํ ํ๋ฃจ ์ด์ ์๋ฌด๋ฐ ์ ์์ด ์์๊ธฐ ๋๋ฌธ์ ์ ํด ์ํ๊ฐ 8์๊ฐ ์ด์ ์ง์๋๋ฉด์ ์ธ์ ์ด ์ข ๋ฃ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์กด ์ปค๋ฅ์ ํ(DBCP)๋ ๋์ด์ง ์ฐ๊ฒฐ์ ์ฌ์ ํ ์ ํจํ๋ค๊ณ ๊ฐ์ฃผํ๊ณ ๋ฐํํ์์ผ๋, ์ค์ ๋ก๋ ์ฐ๊ฒฐ์ด ๋์ด์ ธ ์์ด Connection reset ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค.
wait_timeout vs interactive_timeout
- wait_timeout
- ์ ์ฉ ๋์: ๋น๋ํํ(non-interactive) ์ฐ๊ฒฐ
- ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ฐฑ์๋ ์๋น์ค๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ์ ์ ์งํ ๋ ์ฌ์ฉ
- interactive_timeout
- ์ ์ฉ ๋์: ๋ํํ(interactive) ์ฐ๊ฒฐ
- ํฐ๋ฏธ๋ ๊ธฐ๋ฐ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉ์ ์ ๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ์ธ์
ํญ๋ชฉ | wait_timeout | interactive_timeout |
์ ์ฉ ๋์ | ๋น๋ํํ ์ฐ๊ฒฐ (์ ํ๋ฆฌ์ผ์ด์ ๋ฑ) | ๋ํํ ์ฐ๊ฒฐ (CLI, ํฐ๋ฏธ๋ ๋ฑ) |
์ฃผ์ ์ | JDBC, ODBC, ๋ฐฑ์๋ ์๋น์ค | MySQL CLI, MariaDB CLI |
์ค์ ์ฐ์ ์์ | ๋น๋ํํ ํด๋ผ์ด์ธํธ์๋ง ์ ์ฉ | ๋ํํ ํด๋ผ์ด์ธํธ์๋ง ์ ์ฉ |
๊ธฐ๋ณธ๊ฐ (MariaDB) | 600์ด | 28800์ด (8์๊ฐ) |
๊ธฐ๋ณธ๊ฐ (MySQL) | 28800์ด (8์๊ฐ) | 28800์ด (8์๊ฐ) |
- ์ถ์ฒ ์ค์
- ์๋ฒ์ ์ฐ๊ฒฐํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ง์ ๊ฒฝ์ฐ ๋น๋ํํ ์ฐ๊ฒฐ์ ์ ํด ํ์์์์ ๋ฎ์ถฐ ์ฐ๊ฒฐ ๋ญ๋น๋ฅผ ์ค์ธ๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ์์ CLI๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ interactive_timeout์ ๋ ๊ธธ๊ฒ ์ค์ ํ์ฌ ์ธ์ ์ด ์์ฃผ ๋๊ธฐ๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
๐ ํด๊ฒฐ๋ฐฉ์
ํด๊ฒฐ๋ฐฉ์์ DB์ wait_timeout ์ค์ ์ ๋๋ฆฌ๊ฑฐ๋ Connection Pool ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๊ทธ๋ฌ๋ ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ wiat_timeout์ 8์๊ฐ ์ด์์ผ๋ก ๋๋ฆฌ๊ฒ ๋๋ฉด, ์ฅ์๊ฐ ์ ์ง๋์ง ์๋ ์ฐ๊ฒฐ์ด ๋ง์ ๊ฒฝ์ฐ ์์คํ ์์์ ๋ญ๋นํ๊ฑฐ๋ ํธ๋ํฝ์ด ๋ชฐ๋ ธ์ ๋ ์ฐ๊ฒฐ ๋ถ์กฑ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. ๋ฐ๋ผ์ wait_timeout ์ค์ ์ ๊ฑด๋๋ฆฌ์ง ์๊ณ , ValidationQuery ์ค์ ๊ณผ ๋์ด์ง ์ฐ๊ฒฐ์ ์๋์ผ๋ก ๋ณต๊ตฌํ ์ ์๋ JDBC ๋๋ผ์ด๋ฒ์ autoRecoonect ์ต์ ์ ์ค์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
DBCP Configuraion validationQuery ์ค์ ์ถ๊ฐ
<bean id="dataSource-mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}"/>
<property name="password" value="${Globals.Password}"/>
<property name="validationQuery" value="select 1"/>
</bean>
JDBC ์๋ ์ฌ์ฐ๊ฒฐ ์ต์ ์ค์
- ์๋ ์ฌ์ฐ๊ฒฐ ์ค์ ์์ด ValidationQuery ์ค์ ๋ง ์๋ ๊ฒฝ์ฐ ๋์ด์ง ์ฐ๊ฒฐ์ ํ๊ธฐํ๊ณ ์ ์ฐ๊ฒฐ์ ์์ฑํ๋ฏ๋ก ๋ณต๊ตฌํ๋๋ฐ ์๋๊ฐ ๋น๊ต์ ๋๋ฆฌ๋ค. ์๋ ์ฌ์ฐ๊ฒฐ ์ต์ ์ค์ ์ ํ ๊ฒฝ์ฐ ๋์ด์ง ์ฐ๊ฒฐ์ ๋ณต๊ตฌํ๋ฏ๋ก ์ฆ์ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฐ๊ฒฐ์ ์ฌ์ฉ ์ค์ผ ๋ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ ๊ฒฝ์ฐ์๋ ValidationQuery๊ฐ ์๋ํ์ง ์๋๋ค. ์๋ ์ฌ์ฐ๊ฒฐ์ ํตํด ์ด๋ฌํ ์ํฉ์์๋ ๋ณต๊ตฌ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์์ฌ ํํ์ด์ง์ ๊ฒฝ์ฐ ํธ๋ํฝ ์์ฒด๊ฐ ์ ๊ณ , ์ ํด ์๊ฐ์ด ๊ธธ๊ธฐ ๋๋ฌธ์ ValidationQuery์ ๋ํ ์ค๋ฒํค๋๊ฐ ํฌ์ง ์์๊ฑฐ๋ผ ์๊ฐํ๊ณ , ์ ํด ์ฐ๊ฒฐ ์ํ๋ฅผ ํ์ธํ๋ฉด์ ๋์ด์ง ์ฐ๊ฒฐ์ ๋ฐ๋ก ๋ณต๊ตฌ ์ํค๊ธฐ ์ํด ๋ ์ค์ ์ ๋ชจ๋ ํํ์๋ค.
jdbc:mariadb://yourhost:3306/dbname?autoReconnect=true&testOnBorrow=true
์ค์ | ValidationQuery๋ง ์์ | ์๋ ์ฌ์ฐ๊ฒฐ๋ง ์์ | ๋ ์ค์ ๋ชจ๋ ์์ |
๋ชฉ์ | ์ ํด ์ฐ๊ฒฐ ์ํ ํ์ธ | ๋์ด์ง ์ฐ๊ฒฐ ๋ณต๊ตฌ | ์ ํด ์ํ ํ์ธ + ๋์ด์ง ์ฐ๊ฒฐ ๋ณต๊ตฌ |
์ฐ๊ฒฐ ๋๊น ๋ณต๊ตฌ | ๋์ด์ง ์ฐ๊ฒฐ์ ํ๊ธฐํ๊ณ ์ ์ฐ๊ฒฐ ์์ฑ | ์๋์ผ๋ก ์ ์ฐ๊ฒฐ ์์ฑ | ๋์ด์ง ์ฐ๊ฒฐ ์๋ ๋ณต๊ตฌ, ์ ํจ์ฑ ํ์ธ ์ถ๊ฐ |
์ค๋ฒํค๋ | ์ฟผ๋ฆฌ ์ค๋ฒํค๋(ValidationQuery ์คํ) | ์๋ก์ด ์ฐ๊ฒฐ ์์ฑ ๋น์ฉ | ์ฟผ๋ฆฌ ์ค๋ฒํค๋ + ์ฐ๊ฒฐ ์์ฑ ๋น์ฉ |
๋ณต๊ตฌ ์๋ | ๋น๊ต์ ๋๋ฆผ(ValidationQuery ์คํจ ํ ์๋ก์ด ์ฐ๊ฒฐ ์์ฑ) | ๋น ๋ฆ(์ฐ๊ฒฐ ๋๊น ์ ์ฆ์ ๋ณต๊ตฌ) | ์ฆ์ ๋ณต๊ตฌ + ์ ํจ์ฑ ํ์ธ |
์ ํฉํ ํ๊ฒฝ | ํธ๋ํฝ์ด ๋ง๊ณ ์ ํด ์ฐ๊ฒฐ์ด ์ฆ์ ํ๊ฒฝ | ํธ๋ํฝ์ด ์ ๊ณ ์ฐ๊ฒฐ์ด ์ฅ์๊ฐ ์ ์ง๋๋ ํ๊ฒฝ | ์์ ์ฑ์ด ๊ฐ์ฅ ์ค์ํ ํ๊ฒฝ(ํธ๋ํฉ ์ ์, ์ ํด ์๊ฐ ๊ธด ๊ฒฝ์ฐ) |
์ฐธ๊ณ ์๋ฃ
https://www.egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000021342
https://velog.io/@mooh2jj/์ปค๋ฅ์ -ํConnection-pool์-์-์ฐ๋๊ฐ
'Study > Back-End' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ฌ ๋ฉํฐํ๋ก์ธ์ฑ์ ํ์ฉํ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ (0) | 2025.03.03 |
---|---|
Linux ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ (spawn, fork, exec) (0) | 2025.03.03 |
ํ๊ฒฝ๋ณ์(PATH) ์ดํดํ๊ธฐ (1) | 2024.11.20 |
๋ก๊ทธ ๋ ๋ฒจ ๋ฐ ๋ก๊ทธ ์์ฑ ๊ธฐ์ค (0) | 2024.11.11 |
[Node.js] Express์ listen ๋ฐ Cors ์ค์ (1) | 2024.11.07 |