[JMeter] JMeter ์ค์น์ ๊ฐ๋จํ ๋ถํ ํ ์คํธ
๐น JMeter๋?
Jmeter๋ ์ํํธ์จ์ด์ ์ฑ๋ฅ์ ์ธก์ ํ๋ ๋๊ตฌ์ ๋๋ค. ๋ค์ํ ์ฑ๋ฅ ์งํ ์ค์์ ์๋น์ค ๋ถํ๋ฅผ ์ธก์ ํฉ๋๋ค. ๋ฐ๋ผ์ ์น ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ์ ์ก ์๋, ๋์ ์ ์์ ๋ฑ ์ฌ์ฉ์ ์๋๋ฆฌ์ค๋ฅผ ๊ฒ์ฌํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Apache JMeter๋ ์์ Java ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก Apache ๋ผ์ด์ ์ค๋ฅผ ๊ฐ์ง ์คํ์์ค์ ๋๋ค. ๊ณต์ ์ฌ์ดํธ ์ค๋ช ์ ๋ฐ๋ฅด๋ฉด ์ฒ์๋ถํฐ ์น ์๋น์ค๋ฅผ ํ ์คํธํ๊ธฐ ์ํด ์ค๊ณ๋์๊ณ , ์ดํ ๋ค๋ฅธ ํ ์คํธ ๊ธฐ๋ฅ์ผ๋ก ํ์ฅํ๋ค๊ณ ํฉ๋๋ค.
JMeter๋ก ํ ์คํธ ๊ฐ๋ฅํ ์ํํธ์จ์ด๋ http ์น ์๋น์ค๋ฟ๋ง ์๋๋ผ FTP, SMTP, ์๋ฐ ๊ฐ์ฒด ๋ฑ ๋ค์ํ ํ์ ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ณต์ ์ฌ์ดํธ์์๋ JMeter๊ฐ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ ํ ์คํธ ํด์์ ๊ฐ์กฐํฉ๋๋ค. JMeter๋ ํ ์คํธ ๊ธฐ๋ฅ๋ง ์ ๊ณตํ๋ฉฐ Javascript ์คํ, HTML ๋ ๋๋ง ๋ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค. ์ด๋ ๋ค๋ฅธ ๋ง๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ์๋๋ผ ํ๋กํ ์ฝ ์์ค์์ ํ ์คํธ๋ฅผ ์งํํ๋ค๊ณ ํํํฉ๋๋ค.
๐น JMeter ํ๋ก์ธ์ค
JMeter์์ ๊ธฐ๋ณธ์ ์ผ๋ก Test Plan์ Thread group์ ์ถ๊ฐํ์ฌ ์ฌ์ฉํฉ๋๋ค. Thread Group์ ์ฌ๋ฌ ํ ์คํธ ๊ทธ๋ฃน์ ๋จ์์ด๋ฉฐ ๊ท์น์ ์ ํด์ ์์ฑ๋์ด ํ ์คํธ๊ฐ ์ด๋ค์ง๋๋ค.
๊ทธ๋ฆผ๊ณผ ๊ฐ์ด JMeter๊ฐ ์๋ฒ์ ์ค์ ํ ์ ์ ๋งํผ ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๊ณ , ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ์ต๋๋ค. ์ด ์๋ต์ ์์งํ์ฌ ๋ฆฌํฌํธํํ๋ฉฐ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋ค ์๋์ผ๋ก ์๊ฐํ๋ฅผ ์ง์ํฉ๋๋ค.
๐น JMeter ์ค์น
ํ์ธํ๋ฉฐ ๋ฐ๋ผ๊ฐ ์ ์๋๋ก ์ด๋ฏธ์ง๋ฅผ ๋ง์ด ๋ฃ์์ต๋๋ค.
์ฒ์ฒํ ๋ฐ๋ผ๊ฐ์๋ฉด ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
Jmeter๋ JVM์์ Java๋ก ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๋ฐ๋ผ์ Java ์คํ ํ๊ฒฝ์ด ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค.
JMeter์ ์ ๊ณต๋๋ ํ๋ฌ๊ทธ์ธ์ ๋ค์ํฉ๋๋ค. ์ดํ JMeter ์ฌ์ฉ์ด ์ต์ํด์ง๋ค๋ฉด ํ๋์ฉ ์ถ๊ฐํ์ฌ ํ์ํ ํ๋ฌ๊ทธ์ธ์ ๋ชจ์ผ์ ๋ ์ข์ต๋๋ค. ์๋ ์ค์น๋ Window OS์์ ํ ์คํธํ์์ต๋๋ค.
1. JMeter ์ค์น
https://jmeter.apache.org/download_jmeter.cgi ๋งํฌ์์ apache-jmeter-5.4.3.zip ๋ค์ด๋ก๋ ๋ฐ ์์ถ ํ๊ธฐ
2. JMeter Plugins Manager ์ค์น
https://jmeter-plugins.org/get/ ๋งํฌ๋ก jar ํ์ผ ๋ค์ด๋ก๋ ํ /lib/ext ๋ด๋ถ์ ๋ณต์ฌ
3. JPGC-graphs-basic ํ๋ฌ๊ทธ์ธ ์ค์น
https://jmeter-plugins.org/files/packages/jpgc-graphs-basic-2.0.zip ๋งํฌ๋ก zip ํ์ผ ๋ค์ด๋ก๋ ํ
์์ถ ํด์ ํ์ฌ /lib ํด๋์ ๋ณต์ฌ
4. JMeter ์คํ
/apache-jmeter-5.4.3/bin/jmeter.bat ์คํ
๐น JMeter ํ ์คํธ
1. Thread Group ์์ฑ
2. Thread Group ์ค์
- Number of Threads: ์์ฒญํ๋ Thread ์ (= ์ฌ์ฉ์ ์)
- Ramp-up period: ์ด์์ฒญ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ (TPS = Number of Threads / Ramp-up period)
- Loop Count: ํ ์คํธ ๋ฐ๋ณต ์
3. HTTP ์ค์
Basic๊ณผ Advanced๋ฅผ ์ด์ฉํด ์ ์ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค.
์๋ ํญ์ ํตํด Parameters, Body ์ค์ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋จ์ํ GET๋ง ์ฌ์ฉํ์์ต๋๋ค.
4. Report ์ถ๊ฐ
Test ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ธฐ ์ํด Report๋ฅผ ๋ฏธ๋ฆฌ ์ค์ ํ ์ ์์ต๋๋ค.
5. ํ ์คํธ ์คํ
์ด๋ก์ ๋ฒํผ์ผ๋ก ์คํํฉ๋๋ค.
ํฑ๋๋ฐํด + ๋น์๋ฃจ ๋ชจ์ ๋ฒํผ์ผ๋ก ๊ธฐ๋ก์ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
๐น JMeter ํ ์คํธ ๊ฒฐ๊ณผ
์๋ ์ด๋ฏธ์ง๋ 1000๊ฐ Thread ์์ฒญ์ 10์ด ๋์์ ๋ณด๋ธ ๊ฒฐ๊ณผ์ ๋๋ค. ๋ชจ๋ ์ ์์ ์ผ๋ก ์์ฒญ๋ค์ด ์ํ๋์์ผ๋ฉฐ, ์์๋๋ก 100 TPS ์ ๋๊ฐ ์ํ๋ฉ๋๋ค.
๐น ๋ถ๊ฐ ๊ธฐ๋ฅ
Test Plan ์ ์ฅ
jmx ํ์ผ๋ก ์ ์ฅํ์ฌ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
์ฌ์ฉ์ ๋ณ์ ์ ์ฅ ๋ฐ ์ฌ์ฉ
1. ๋ณ์ ๊ณต๊ฐ ์์ฑ
2. ๋ณ์ ์ ์ฅ
3. ๋ณ์ ์ฌ์ฉ
'Infra > Traffic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JMeter] ์ต๋ Test thread ์ ๋๋ฆฌ๊ธฐ - java.net.BindException ์ค๋ฅ ํด๊ฒฐ (0) | 2022.07.29 |
---|