- Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถํ ๋ฌธ์ (๋ณด๊ณ ์ ์์ฑ, ๋น๋๊ธฐ ์์ )์ ๊ธฐ์กด ์ค๋ ๋์ CPU/๋ฉ๋ชจ๋ฆฌ ์๋ชจ ๋ฌธ์ ๋ฅผ ์ง์ ํ๋ฉฐ ๊ฐ์ ์ค๋ ๋์ ํ์์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ๐
- ์ง์ญ๋ณ ๋๊ท๋ชจ ๊ณ ๊ฐ ๋ณด๊ณ ์ ์์ฑ์ด๋ผ๋ I/O ๋ฐ์ด๋ ์์ ์ ์ค์ ์ฌ์ฉ ์ฌ๋ก๋ก ๋ค์ด, ์ค๋ ๋ ๋ฏธ์ฌ์ฉ, ํ๋ซํผ ์ค๋ ๋, ๊ฐ์ ์ค๋ ๋ ์ธ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์์ ๋น๊ตํฉ๋๋ค. ๐
- ์ค๋ ๋๋ฅผ ์ฌ์ฉํ์ง ์๋ ๋๊ธฐ ๋ฐฉ์์ Tomcat ์ค๋ ๋ ๊ณ ๊ฐ๋ก ์ธํด ๋์ ์ง์ฐ ์๊ฐ(894ms)๊ณผ ๋ฎ์ ์ฒ๋ฆฌ๋(111 RPS)์ ์ด๋ํจ์ ๋ณด์ฌ์ค๋๋ค. ๐
- ํ๋ซํผ ์ค๋ ๋ ํ(๊ณ ์ 5๊ฐ)์ ์ฌ์ฉํ์ฌ I/O ์์ ์ ๋ถ์ฐํจ์ผ๋ก์จ Tomcat ์ค๋ ๋๋ฅผ ํด์ ํ๊ณ , ์ฒ๋ฆฌ๋(856 RPS)๊ณผ ์ง์ฐ ์๊ฐ(116ms)์ ํฌ๊ฒ ๊ฐ์ ํฉ๋๋ค. โ๏ธ
- ํ๋ซํผ ์ค๋ ๋๋ OS ๊ด๋ฆฌ๋ก ๋ฌด๊ฒ๊ณ ๋น์ฉ์ด ๋ง์ด ๋๋ ํ๊ณ๊ฐ ์์ด, Java 21์์ JVM์ด ๊ด๋ฆฌํ๋ ์ด๊ฒฝ๋ ๊ฐ์ ์ค๋ ๋๊ฐ ๋์ ๋์์์ ์ค๋ช ํฉ๋๋ค. โจ
- ๊ฐ์ ์ค๋ ๋๋ ๊ฐ ์์ฒญ์ ๊ฐ๋ณ ์ค๋ ๋๋ฅผ ํ ๋นํ์ฌ ์์ฒ ๊ฐ์ ์ค๋ ๋๋ฅผ ํจ์จ์ ์ผ๋ก ์์ฑ ๋ฐ ๊ด๋ฆฌํ๋ฉฐ, CPU/๋ฉ๋ชจ๋ฆฌ ๋ถํ๋ฅผ ์ต์ํํฉ๋๋ค. ๐
- Spring Boot์์
VirtualThreadExecutorConfig๋ฅผ ํตํด ๊ฐ์ ์ค๋ ๋ Executor๋ฅผ ์ฝ๊ฒ ๊ตฌ์ฑํ๊ณ ์ฃผ์ ํ์ฌ ์ฌ์ฉํ ์ ์์์ ์์ฐํฉ๋๋ค. ๐ ๏ธ - ์ต์ข ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ, ๊ฐ์ ์ค๋ ๋๊ฐ ์ ํต ๋ฐฉ์(434 RPS) ๋ฐ ํ๋ซํผ ์ค๋ ๋(854 RPS) ๋๋น ์๋ฑํ ๋์ ์ฒ๋ฆฌ๋(1000+ RPS)๊ณผ ๋ฎ์ ์ง์ฐ ์๊ฐ์ ์ ๊ณตํ๋ฉฐ ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ์ฆํฉ๋๋ค. ๐
- ๊ฐ์ ์ค๋ ๋๋ ํนํ I/O ๋ฐ์ด๋ ์์ ์ด ๋ง์ ๊ณ ๋์์ฑ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๊ทน๋ํํ๋ ํต์ฌ ์๋ฃจ์ ์ ๋๋ค. โ
![Live] ์๋๋ ๊ฐ๋ฐ์ ์์ ์จ ์ผ๋น์ ๊ฐ๋ฐ์ ๋ฐฉ์ก Live](https://i4.ytimg.com/vi/GaW-uzMvmXw/hqdefault.jpg)

![[๊ฐ๋ฐ์ ๋ณธ์ง] แแ
ฉแแแ
ณแซ แแ
ฉแแ
ณแแ
ฆ แแ
ขแแ
กแซ แแ
กแแ
กแซแแ
ด แแ
ตแแ
ฎแซแแ
ณแฏ ์ฐพ๋ ๋ฐฉ๋ฒ?!(๊ด์ ํ์ต - ๋์ ์๋ฆฌ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ๊ณต๋ถํ๊ธฐ)](https://i3.ytimg.com/vi/Fd0_M73na8o/hqdefault.jpg)


