์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS Certified Solutions Architect - Associate
- aws ์ฟ ํฐ
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- docker compose
- aws saa ํฉ๊ฒฉ
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- redis ํ ์คํธ์ฝ๋
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- s3 log ์ ์ฅ
- ์คํํ๋ ๋ฏธ์ค
- private subnet ec2 ๋ก์ปฌ ์ ์
- docker ps -a
- docker-compose kafka
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- Kafka
- ํ์ดํผ๋ฐ์ด์
- ํ๋ก๊ทธ๋๋จธ์ค
- @RestControllerAdvice
- nGrinder
- JPA
- docker
- Codedeploy ์ค๋ฅ
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- prod docker-compose
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- Entity
- ๋ค์ค ์ปจํ ์ด๋
- ์๋ฐ
- redis ์กฐํ
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- Today
- Total
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
[Spring] ์ฑ๋ฅ ์ต์ ํ 1ํธ - ๋ถํํ ์คํธ ngrinder ์ค์นํ๊ธฐ ๋ณธ๋ฌธ
[Spring] ์ฑ๋ฅ ์ต์ ํ 1ํธ - ๋ถํํ ์คํธ ngrinder ์ค์นํ๊ธฐ
๐คRyusun๐ค 2024. 3. 9. 00:36ngrinder
- ์ฑ๋ฅ ํ ์คํธ ๋ฐ ๋ถํ ํ ์คํธ๋ฅผ ์ํํ๋ ์คํ ์์ค ํ๋ ์์ํฌ์ด๋ค. nGrinder๋ Java ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ nGrinder์์ ์ฌ๋ฌ๊ฐ์ง ๊ฐ์ ์๋๋ฆฌ์ค๋ฅผ ๋ง๋ค์ด ํธ๋ํฝ์ ๋ชฐ๋ ธ์ ๋ ์ฑ๋ฅ์ ์ธก์ ํ ์ ์๋๋ก ๋์์ค๋ค.
1. ngrinder ์ค์นํ๊ธฐ
https://github.com/naver/ngrinder/releasesโ ์์ ngrinder-controller-3.5.5-p1.war ํ์ผ ๋ค์ด๋ก๋ํ๋ฉด ๋๋ค.
๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ngrinder ๋ผ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ๋ค์ด๋ฐ์ ํ์ผ์ ์์น์ํค์.
ํด๋น ํ์ผ์ด ์๋ ๊ฒฝ๋ก์์ ํฐ๋ฏธ๋์ ์ด๊ณ
java -jar ngrinder-controller-3.5.9.war --port=8300 ๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ์คํ๋๋ค.
java -jar ngrinder-controller-3.5.9.war --port=8300
ํ์ง๋ง ์๋ฌ๋ฐ์...
ํด๋น ์ค๋ฅ ๋ฉ์์ง์์ ์๊ตฌํ๋ ๊ฒ์ nGrinder ์ปจํธ๋กค๋ฌ(ngrinder-controller.war)๋ฅผ ์คํํ ๋ java.io.tmpdir ์์ฑ์ ์ค์ ํ๋ผ๋๊ฑฐ๋ค.
ERROR
Please set `java.io.tmpdir` property like following. tmpdir should be different from the OS default tmpdir.
`java -Djava.io.tmpdir=${NGRINDER_HOME}/lib -jar ngrinder-controller.war`
ํด๊ฒฐ์ฝ๋
์๋ ์ฝ๋๋ก ์คํ์ ํฌํธ ์ถฉ๋์ด ๋์ ์๋ฌ๊ฐ ๋๋ค! ๋ฐ๋ผ์ ์คํ๋ง๋ถํธ ํฌํธ๋ฅผ 8082๋ก ๋ฐ๊ฟ์ฃผ๊ณ ์ ์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด ์ ์คํ์ด ๋๋ค!!
// java -Djava.io.tmpdir={ngrinder์ค์นํ ๊ฒฝ๋ก๋ด libํด๋ ์์น} -jar {์ค์นํ warํ์ผ์ด๋ฆ}
java -Djava.io.tmpdir=/Users/ryusunny/utils/ngrinder/ngrinder-ngrinder-3.5.9.230227/lib -jar ngrinder-controller-3.5.9.war
์ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ์์ ํ์ผ์ด ํ๋ ๋ ์์ฑ๋๋๋ ์คํ๋๋ค.
ํ์์ ๊ฒฝ์ฐ 8080ํฌํธ๋ก ์ง์ ํด์ http://localhost:8080๋ก ์ ์ํ๋ค.
์ ์ ์ฑ๊ณต~!
์์ด๋์ ํจ์ค์๋๋ admin, admin์ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์ด์ agent๋ฅผ ์ค์นํ์.
๋ก๊ทธ์ธํ๊ณ ๋ค์ด์ค๋ฉด ์ค๋ฅธ์ชฝ ์๋จ์ admin์ ์์ด์ ํธ ๋ค์ด๋ก๋ ๋ฅผ ๋๋ฅด๋ฉด ๋๋ค.
๋ค์ด๋ก๋ ๋๋ฉด ํด๋น ํ์ผ์ ngrinder ํ์ผ๋ค์ ์ค์นํ ๋๋ ํ ๋ฆฌ์ ์์น์ํค๊ณ ๋ค์ด๋ฐ์ tar ํ์ผ์ ์์ถ์ ํ๋ฉด ๋๋ค.
๋๋ ํ ๋ฆฌ์์ ์๋ก์ด ํฐ๋ฏธ๋์ ์ด๊ณ ์คํฌ๋ฆฝํธ ํ์ผ์ ์ด์ด ngrinder-agent ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์.
์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด agent๋ฅผ ์คํ๋๋ค.
// mac
./run_agent.sh
// window
./run_agent.bat
์ ์์ ์ผ๋ก ์คํ๋๋ค.
์ด์ ๋ค์ ์น์ผ๋ก ๊ฐ์ ์์ด์ ํธ ๊ด๋ฆฌ๋ก ๋ค์ด๊ฐ๋ณด๋ฉด
์์ด์ ํธ๊ฐ ์ ์์ ์ผ๋ก ์คํ๋๊ฒ์ ๋ณผ์์๋ค.
2. ๊ธฐ๋ฅ์ ํ ์คํธํ script ์์ฑ
์นํ์ด์ง ๋งจ ์์ ์คํฌ๋ฆฝํธ -> ๋ง๋ค๊ธฐ ๋ฅผ ๋๋ฌ์ ํ ์คํธ ์ด๋ฆ๊ณผ ์ฑ๋ฅ์ ํ ์คํธํ api ์ฃผ์๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์ฃผ์ํ ์ ์ http://localhost:8082/api ์์ localhost ๋ฅผ 127.0.0.1 ๋ก IPv4 ์ฃผ์๋ฅผ ์จ์ค์ผํ๋ค.
http://localhost:8082/api -> http://127.0.0.1 :8082/api
ํ ์คํธํ ์คํ๋ง๋ถํธ ํ๋ก์ ํธ ์คํ์ํจ๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฐ์ธก ์๋จ์ ๊ฒ์ฆ์ ๋๋ฌ ํ ์คํธ๊ฐ ์ ์๋ํ๋์ง ์คํํด๋ณธ๋ค.
๊ทผ๋ฐ ๊ฐ์๊ธฐ ๋ ์๋ฌ...
Caused by: java.lang.ClassNotFoundException: sun.net.spi.nameservice.NameService
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
๋์ถฉ ์ด๋ฌ๋๋ฐ...
์ฐพ์๋ณด๋๊น ์๋ฐ ๋ฒ์ ์ด ์๋ง์์ ๋๋ ์๋ฌ์๋ค.
์๋ฐ ๋ฒ์ ์ด ๋ฌด์กฐ๊ฑด 11 ์ด์ฌ์ผ ์คํ์ด ๋๋๊ฒ๊ฐ๋ค.
๊ทธ๋์ ์๋ฐ 11 ๋ฒ์ ์ ์๋ก ๊น์์คฌ๋ค.
์๋ฐ๋ฒ์ ํ๊ฒฝ๋ณ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ ๋ธ๋ก๊ทธ๊ฐ ์์ธํ๊ฒ ๋์์์ด ์ฐธ๊ณ ํ๋ฉด ์ข์๋ฏํ๋ค.
https://whitepaek.tistory.com/28
macOS Java ํ๊ฒฝ๋ณ์(PATH) ์ค์ ๋ฐฉ๋ฒ
macOS Java ํ๊ฒฝ๋ณ์(PATH) ์ค์ ํ๊ธฐ!Homebrew๋ฅผ ์ด์ฉํด์ Java๋ฅผ ์ต์ ๋ฒ์ ์ ์ค์นํ์ฌ ์ฌ์ฉํ์ต๋๋ค.ํ์ง๋ง ๊ณต๋ถ๋ฅผ ํ๋ค ๋ณด๋๊น JDK 1.8 ๋ฒ์ ์ ์ค์นํ์ฌ ์ฌ์ฉํ ํ์์ฑ์ด ์๊ฒผ์ต๋๋ค.macOS ํ๊ฒฝ์์ JDK
whitepaek.tistory.com
์๋ฐ ํ๊ฒฝ๋ณ์ ๋ณ๊ฒฝํ๊ณ ์คํํ๋๊น
์ฑ๊ณต!!!!
์ด์ ์ฑ๋ฅ ํ ์คํธ๋ก ๊ฐ์ ํ ์คํธ ์์ฑํ ์ ์ฅํ ์์์ ๋๋ฌ๋ณด์.
ํ์๋ ์์ด์ ํธ 1, ๊ฐ์์ฌ์ฉ์ 10, ํ ์คํธ ์๊ฐ 30์ด ๋ก ์ง์ ํ๊ณ ์คํ์์ผ ๋ณด์๋ค.
ํ ์คํธ ๊ฒฐ๊ณผ
์์ฝ์ ์ ํ ์ฉ์ด ๊ฐ๋จํ๊ฒ ์์๋ณด์.
- TPS (Transactions Per Second)
- ์ฒ๋ฆฌ๋. ์ฆ, "์ด๋น ์ฒ๋ฆฌ๊ฐ๋ฅํ ํธ๋์ญ์ ์ ์"์ด๋ค.
- TPS๊ฐ 100์ด๋ผ๋ฉด ์ด๋น ์ฒ๋ฆฌ ํ ์ ์์ ์ด 100์ด๋ค ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
- TPS ์์น๊ฐ ๋์ ์๋ก ์งง์ ์๊ฐ์ ๋ง์ ์์ ์ ์ฒ๋ฆฌํ ์ ์๋ค.
- Vuser (Virtual User)
- ๊ฐ์ ์ฌ์ฉ์
- ๊ฐ์ ์ฌ์ฉ์๊ฐ ๋์์ ์์คํ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋์ํ๋๊ฒ์ ์๋ฏธํ๋ค.
TPS ์์น๋ ๋๊ณ ํ๊ท ํ ์คํธ ์๊ฐ์ ๋ฎ์ ์๋ก ์ฑ๋ฅ์ ์ผ๋ก ๊ธ์ ์ ์ด๋ค.
'๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป > ๐๐ฉ๐ซ๐ข๐ง๐ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ์ฑ๋ฅ ์ต์ ํ 3ํธ - ์ธ๋ฑ์ค ํ์ฉํ๊ธฐ (2) | 2024.03.15 |
---|---|
[Spring] ์ฑ๋ฅ ์ต์ ํ 2ํธ - ์ค์นด์ฐํธ ๋ชจ๋ํฐ๋ง TOOL ์ค์น (1) | 2024.03.14 |
[Spring] DTO ๊ตฌ์กฐ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํด์ผํ ๊น (0) | 2024.03.08 |
[JPA] @Enumerated, @Converter (0) | 2023.08.26 |
[Spring] QueryDSL ๋ฌธ๋ฒ (0) | 2023.07.20 |