์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

Windows์šฉ Yandex ํƒฑํฌ ๋‹ค์šด๋กœ๋“œ

Yandex Tank Windows ์•ฑ์„ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ Ubuntu ์˜จ๋ผ์ธ, Fedora ์˜จ๋ผ์ธ ๋˜๋Š” Debian ์˜จ๋ผ์ธ์—์„œ ์˜จ๋ผ์ธ win Wine์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ LateststablereleaseforPython2.zip์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” Yandex Tank๋ผ๋Š” Windows ์•ฑ์ž…๋‹ˆ๋‹ค. ์›Œํฌ์Šคํ…Œ์ด์…˜์šฉ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์ธ OnWorks์—์„œ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OnWorks์™€ ํ•จ๊ป˜ Yandex Tank๋ผ๋Š” ์ด ์•ฑ์„ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ด ์•ฑ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฅด์„ธ์š”.

- 1. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ PC์— ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

- 2. ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX์— ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

- 3. ์ด๋Ÿฌํ•œ ํŒŒ์ผ ๊ด€๋ฆฌ์ž์—์„œ ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

- 4. ์ด ์›น์‚ฌ์ดํŠธ์—์„œ ๋ชจ๋“  OS OnWorks ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๋” ๋‚˜์€ Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

- 5. ๋ฐฉ๊ธˆ ์‹œ์ž‘ํ•œ OnWorks Windows OS์—์„œ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

- 6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

- 7. Linux ๋ฐฐํฌ ์†Œํ”„ํŠธ์›จ์–ด ์ €์žฅ์†Œ์—์„œ Wine์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•ฑ์„ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜์—ฌ Wine๊ณผ ํ•จ๊ป˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๊ธฐ ์žˆ๋Š” Windows ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ฒŒ์ž„์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” Wine์„ ํ†ตํ•œ ๋ฉ‹์ง„ ์ธํ„ฐํŽ˜์ด์Šค์ธ PlayOnLinux๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Wine์€ Linux์—์„œ Windows ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์ง€๋งŒ Windows๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Wine์€ ๋ชจ๋“  Linux ๋ฐ์Šคํฌํƒ‘์—์„œ ์ง์ ‘ Windows ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค Windows ํ˜ธํ™˜์„ฑ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ Wine์€ Windows๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  Windows ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก Windows๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ถฉ๋ถ„ํžˆ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ์ƒท

Ad


์–€๋ฑ์Šค ํƒฑํฌ


๊ธฐ์ˆ 

Yandex.Tank๋Š” ๊ณ ๊ธ‰ Linux ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ๋กœ, ์ž๋™ํ™”๋œ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ์ œํ’ˆ๊ตฐ์˜ ์ผ๋ถ€๋กœ ํŠนํžˆ ์ข‹์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ถ€ํ•˜ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. Evgeniy Mamchits์˜ ํŒฌํ…€์€ C++(๊ธฐ๋ณธ๊ฐ’)๋กœ ์ž‘์„ฑ๋œ ๋งค์šฐ ๋น ๋ฅธ(100+ RPS) ์ŠˆํŒ… ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. JMeter๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๋„๋ฆฌ ์•Œ๋ ค์ง„ ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค. BFG๋Š” Python์—์„œ ๋กœ๋“œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Python ๊ธฐ๋ฐ˜ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์‹คํ—˜์ ์ธ Golang ์ƒ์„ฑ๊ธฐ: ํŒ๋„๋ผ. ์„ฑ๋Šฅ ๋ถ„์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค: ๊ณผ๋ถ€ํ•˜. ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์˜จ๋ผ์ธ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๋ถ„์„ํ•˜์‹ญ์‹œ์˜ค. ์ผ๋ฐ˜ URL ๋ชฉ๋ก ๋˜๋Š” access.log์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ํƒ„์•ฝ ํ˜•์‹์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ž๋™ ์ค‘์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ: ๊ฒฐ๊ณผ๊ฐ€ ๋ช…ํ™•ํ•ด์ง€๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜์‹ญ์‹œ์˜ค. SSH๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง.



ํŠน์ง•

  • Evgeniy Mamchits์˜ ํŒฌํ…€์€ C++๋กœ ์ž‘์„ฑ๋œ ๋งค์šฐ ๋น ๋ฅธ(100+ RPS) ์ŠˆํŒ… ๊ฒŒ์ž„์ž…๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’).
  • JMeter๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๋„๋ฆฌ ์•Œ๋ ค์ง„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • BFG๋Š” Python์œผ๋กœ ๋กœ๋“œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Python ๊ธฐ๋ฐ˜ ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค.
  • ์‹คํ—˜์ ์ธ Golang ์ƒ์„ฑ๊ธฐ: ํŒ๋„๋ผ
  • ๋‹ค์–‘ํ•œ ๋ถ€ํ•˜ ์ƒ์„ฑ๊ธฐ ์ง€์›
  • SSH๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง


ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

Python


์นดํ…Œ๊ณ ๋ฆฌ

ํ”„๋ ˆ์ž„ ์›Œํฌ

์ด๊ฒƒ์€ https://sourceforge.net/projects/yandex-tank.mirror/์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ์šด์˜ ์ฒด์ œ ์ค‘ ํ•˜๋‚˜์—์„œ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด OnWorks์—์„œ ํ˜ธ์ŠคํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

Ad