๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐ•์˜ ์ •๋ฆฌ/CLASS101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด

Chapter3 - CPU Bound ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ(์„ฑ๋Šฅ ์ธก์ •)

by ์ฃผ๋ฐœ2 2021. 2. 28.
๋ฐ˜์‘ํ˜•

 ์•ˆ๋…•ํ•˜์„ธ์š”~ ์ด์ „์— ์šด์˜ํ•˜๋˜ ๋ธ”๋กœ๊ทธ ๋ฐ GitHub, ๊ณต๋ถ€ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” Study-GitHub ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค!

 ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

 GitHub

Study-GitHub

 ๐Ÿ”


โœ” CLASS101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด - Chapter3 CPU Bound ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ

์•ˆ๋…•ํ•˜์„ธ์š”, ํด๋ž˜์Šค101 ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ , ๋ณต์Šต ์ฐจ์›์œผ๋กœ ์ •๋ฆฌํ•˜์—ฌ ๋‚จ๊ธฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

ํ˜น์‹œ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๊ธ€์„ ์‚ญ์ œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค !!

 

class101.net/products/5fc4a3b4fc231b000d85661b

 

ํ˜„์ง ๋Œ€๊ธฐ์—… ๊ฐœ๋ฐœ์ž ํ‘ธ์™€ ํ•จ๊ป˜ํ•˜๋Š” ์ง„์งœ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ ์‹ค๋ฌด!

IT ๋Œ€๊ธฐ์—…๋“ค์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ๊ณต๊ณ ๋ฅผ ๋ณธ ์  ์žˆ๋‚˜์š”? ๐Ÿ“์œ„ ๋ฐ‘์ค„ ์นœ ๋ถ€๋ถ„์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ์ปค๋ฆฌํ˜๋Ÿผ์„ ๊ตฌ์„ฑํ–ˆ์–ด์š”. ๊ฒ‰๋ณด๊ธฐ์—” ์–ด๋ ค์›Œ ๋ณด์ด์ง€๋งŒ, ๊ฒฐ๊ตญ ๋ฐฐ์šฐ๊ณ  ๋‚˜๋ฉด ๋‚˜๋„ ์ €๋Ÿฐ ๊ณณ์—์„œ ์ผํ•  ์ˆ˜ ์žˆ

class101.net


 

โœ” ์„œ๋ฒ„๋ฅผ ๋Š˜๋ ค์„œ ์„ฑ๋Šฅ ์ธก์ •ํ•˜๊ธฐ(Artillery)

GCP ์ธ์Šคํ„ด์Šค์—์„œ Nginx์˜ ์™ธ๋ถ€ IP๋ฅผ cpu-test.yaml ํŒŒ์ผ์˜ IP๋กœ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ํ›„ ์œ„ ํŒŒ์ผ์„ artillery๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    • artillery.cmd run --output report.json cpu-test.yaml

 

๊ทธ ํ›„ html ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    • artillery.cmd report .\report.json

 

arrivalRate: 1

์œ„ ๊ทธ๋ž˜ํ”„๋Š” arrivalRate๊ฐ€ 1 ์ผ๋•Œ์˜ ๊ฒฐ๊ณผ์ธ๋ฐ์š”, ์ด์ œ 8๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

arrivalRate: 8

์œ„ ๊ทธ๋ž˜ํ”„๋Š” arrivalRate๊ฐ€ 8 ์ผ๋•Œ์˜ ๊ฒฐ๊ณผ์ธ๋ฐ์š”, ์ด์ œ 16์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

์œ„ ๊ทธ๋ž˜ํ”„๋Š” 16์œผ๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

 

์—๋Ÿฌ Codes์—๋Š” 500๊ณผ 502๊ฐ€ ์žˆ๋Š”๋ฐ์š”, ๋‘ ์‘๋‹ต์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

500 ์—๋Ÿฌ๋Š” Cpu Bound ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ž๊ธฐ ์ž์‹ ์˜ ์„ฑ๋Šฅ์ด, ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ๊ฐ€ ๋˜์–ด์„œ

์ž์ฒด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

 

502 ์—๋Ÿฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด 500 ์—๋Ÿฌ๋ฅผ ๊ณ„์† ๋˜์ง€๋‹ค๊ฐ€, ์–ด๋Š ์ˆœ๊ฐ„์—๋Š” ์ด ์—๋Ÿฌ ์กฐ์ฐจ ๋˜์งˆ ์ˆ˜ ์—†์„๋•Œ, 502๋กœ ๋–จ์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๊ฐ€ ์ข…๋ฃŒ๊ฐ€ ๋˜๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

์ด๋•Œ๋ถ€ํ„ฐ๋Š” Nginx๊ฐ€ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ๋”์ด์ƒ ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  ๋Š์–ด๋ฒ„๋ฆฝ๋‹ˆ๋‹ค.

 

 

 

 

๐ŸŽ— GCP ์ธ์Šคํ„ด์Šค 1๊ฐœ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ(์ธ์Šคํ„ด์Šค-2,3 ์˜ docker ์ •์ง€)

GCP ์ธ์Šคํ„ด์Šค๋ฅผ 1๊ฐœ๋กœ๋งŒ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ธ์Šคํ„ด์Šค-2,3 ์—์„œ ์‹คํ–‰์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๋„์ปค์ด๋ฏธ์ง€)์„ ์ •์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

 

 

docker ps

docker container kill -s 15 CONTAINER ID

 

 

์ธ์Šคํ„ด์Šค-2,3 ์˜ docker ์žฌ๊ธฐ๋™

     Jenkins์—์„œ ๋นŒ๋“œ

 

 

๐ŸŽ— ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ํ™•์ธ

Artillery๋กœ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ ๋„์ค‘, ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๋˜๋Š” ์„œ๋ฒ„๊ฐ€ ์ฃฝ์–ด๋„ ํ•ด๋‹น ์š”์ฒญ์„ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ์ด ์‹คํŒจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

์ด์ฒ˜๋Ÿผ, ์‹คํŒจํ•œ ์š”์ฒญ์— ๋Œ€ํ•ด ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™์œผ๋กœ ์‘๋‹ต์žˆ๋Š” ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ํฌ์›Œ๋”ฉํ•ด์ฃผ๋Š” ๊ฒƒ์„

failover ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€