๐Ÿ” ๋กœ๊ทธ์ธ ํ•„์š”

๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋Š” ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ ์ธ์ฆ์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ ํ›„ ์‚ฌ์ด๋“œ๋ฐ”์˜ "๋„๋ฉ”์ธ" ํƒญ์—์„œ ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•˜๊ณ  ์†Œ์œ ๊ถŒ์„ ์ธ์ฆํ•ด์ฃผ์„ธ์š”.

๋™์‹œ ์ ‘์†์ž ์ˆ˜ (10-100)
ํ…Œ์ŠคํŠธ ์ง€์† ์‹œ๊ฐ„ (30-100์ดˆ)
์ตœ๋Œ€ A๋“ฑ๊ธ‰ (90์ )
ํ˜„์žฌ ์„ค์ • ๊ธฐ์ค€
Think Time: 3-10์ดˆ (๊ณ ์ •๊ฐ’)

K6 ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ž€?

K6๋Š” Grafana์—์„œ ๊ฐœ๋ฐœํ•œ ํ˜„๋Œ€์ ์ธ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋กœ, JavaScript๋กœ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ๋‚˜ API์˜ ์„ฑ๋Šฅ๊ณผ ์•ˆ์ •์„ฑ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”ง ์ฃผ์š” ๊ฐœ๋…:
โ€ข Virtual Users (VUs): ๋™์‹œ์— ์ ‘์†ํ•˜๋Š” ๊ฐ€์ƒ ์‚ฌ์šฉ์ž ์ˆ˜
โ€ข Duration: ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์†ํ•˜๋Š” ์‹œ๊ฐ„
โ€ข Think Time: ๊ฐ ์š”์ฒญ ์‚ฌ์ด์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„ (์‹ค์ œ ์‚ฌ์šฉ์ž์˜ ํ–‰๋™ ํŒจํ„ด ์‹œ๋ฎฌ๋ ˆ์ด์…˜)
โ€ข P95 ์‘๋‹ต์‹œ๊ฐ„: ์ „์ฒด ์š”์ฒญ ์ค‘ 95%๊ฐ€ ์ด ์‹œ๊ฐ„ ๋‚ด์— ์‘๋‹ต๋ฐ›์€ ์‹œ๊ฐ„

๐Ÿ“Š ์™œ P95๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?
ํ‰๊ท  ์‘๋‹ต์‹œ๊ฐ„์€ ์ผ๋ถ€ ๋งค์šฐ ๋น ๋ฅธ ์š”์ฒญ์— ์˜ํ•ด ์™œ๊ณก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. P95๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž(95%)๊ฐ€ ์‹ค์ œ๋กœ ๊ฒฝํ—˜ํ•˜๋Š” ์‘๋‹ต์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ ๋” ํ˜„์‹ค์ ์ธ ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค.

๐ŸŽฏ Think Time์˜ ์—ญํ• :
์‹ค์ œ ์‚ฌ์šฉ์ž๋Š” ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•œ ํ›„ ๋‚ด์šฉ์„ ์ฝ๊ฑฐ๋‚˜ ๋‹ค์Œ ํ–‰๋™์„ ๊ฒฐ์ •ํ•˜๋Š” ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Think Time์„ ์„ค์ •ํ•˜๋ฉด ๋” ํ˜„์‹ค์ ์ธ ๋ถ€ํ•˜ ํŒจํ„ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋“ฑ๊ธ‰ VU/Duration ์กฐ๊ฑด ์„ฑ๋Šฅ ๊ธฐ์ค€
A+ 100 VUs ์ด์ƒ + 60์ดˆ ์ด์ƒ P95 < 1000ms
์—๋Ÿฌ์œจ < 0.1%
์•ˆ์ •์„ฑ: P90 โ‰ค ํ‰๊ท ๊ฐ’์˜ 200%
A 50 VUs ์ด์ƒ + 45์ดˆ ์ด์ƒ P95 < 1200ms
์—๋Ÿฌ์œจ < 0.5%
์•ˆ์ •์„ฑ: P90 โ‰ค ํ‰๊ท ๊ฐ’์˜ 240%
B 30 VUs ์ด์ƒ + 30์ดˆ ์ด์ƒ P95 < 1500ms
์—๋Ÿฌ์œจ < 1.0%
์•ˆ์ •์„ฑ: P90 โ‰ค ํ‰๊ท ๊ฐ’์˜ 280%
C 20 VUs ์ด์ƒ + 30์ดˆ ์ด์ƒ P95 < 2000ms
์—๋Ÿฌ์œจ < 2.0%
์•ˆ์ •์„ฑ: P90 โ‰ค ํ‰๊ท ๊ฐ’์˜ 320%
D 10 VUs ์ด์ƒ + 30์ดˆ ์ด์ƒ P95 < 3000ms
์—๋Ÿฌ์œจ < 5.0%
์•ˆ์ •์„ฑ: P90 โ‰ค ํ‰๊ท ๊ฐ’์˜ 400%
F - ์œ„ ๊ธฐ์ค€์— ๋ฏธ๋‹ฌ
๐Ÿ“‹ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์กฐ๊ฑด:
โ€ข ์ตœ์†Œ 30 VUs + 30์ดˆ ํ…Œ์ŠคํŠธ ํ•„์š”
โ€ข B๋“ฑ๊ธ‰ ์ด์ƒ ๋‹ฌ์„ฑ
โ€ข ๋กœ๊ทธ์ธ ๋ฐ ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ ์ธ์ฆ ํ•„์š”

๐Ÿ” ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ ์ธ์ฆ ๋ฐฉ๋ฒ•:
1. ์‚ฌ์ด๋“œ๋ฐ” "๋„๋ฉ”์ธ" ํƒญ์—์„œ ๋„๋ฉ”์ธ ๋“ฑ๋ก
2. TXT ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ํŒŒ์ผ ์—…๋กœ๋“œ๋กœ ์†Œ์œ ๊ถŒ ์ธ์ฆ
3. ์ธ์ฆ ์™„๋ฃŒ ํ›„ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๊ฐ€๋Šฅ
์•„์ง ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค

ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„์ง ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค

ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด Raw JSON ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒ€์‚ฌ ๋‚ด์—ญ์„ ๋ณด๋ ค๋ฉด ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ๊ด€๋ฆฌ๋Š” ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.