728x90

 

선생님은 Mac, 나는 Windows 시리즈입니다.

 

즉, 알아서 따라가야하는 시간이라는 뜻입니다.

 

지금은 Redis를 활용한 caching을 배우고 있는데, 정말 효과가 있나를 테스트 해보기 위해서 발빠르게 Postman을 연속해서 클릭할 수도 있지만, 부하테스트 툴이 따로 존재한다고 하여 해당 툴에서 맡겨보고자 합니다,,

 

Vegeta

https://github.com/tsenart/vegeta

 

GitHub - tsenart/vegeta: HTTP load testing tool and library. It's over 9000!

HTTP load testing tool and library. It's over 9000! - tsenart/vegeta

github.com

 

눈 씻고 찾아보아도 Windows는 없습니다.

 

그럼 윈도우에서는 설치를 못하냐😲?

우리에게는 윈분투,, WSL(Windows Subsystem for Linux),,  윈도우 환경에 우분투 설치해서 Vegeta를 쓸 수 있습니다🎉.

 

No brew..🙅‍♀️🙅‍♂️ Yes sudo..🙆‍♀️🙆‍♂️

 

1. 우분투 설치

wsl --install

 

공용 네트워크에서는 잘 안받아질 수 있습니다.

저는 도서관 와이파이로 install을 진행하려고 하니, '목록 배포를 가져오지 못했습니다. 작업 시간을 초과했습니다.' 라는 오류가 났었습니다.

집에 와서 다시 설치하니 잘 됐습니다.

 

설치가 끝나고 재부팅 후 자동으로 터미널 창에서 우분투가 실행되며, 이 때 UNIX 유저명과 비밀번호를 설정해주면 됩니다.

 

 

2. root 계정 로그인

sudo su

이후 비밀번호를 입력하면 우분투 세계의 근원이 될 수 있습니다.

 

 

3. IPv4 주소 확인

ipconfig

Vegeta를 통해 부하 테스트를 진행하기 위해 어느 IP 주소로 요청을 보낼 것인지 적어줘야 합니다. 

따라서, 미리 확인해둡니다.

 

 

4. Vegeta 설치

sudo install vegeta

Vegeta 설치를 완료하면, 재빠른 포스트맨 클릭 대신 Vegeta가 요청을 보내줄 것입니다.

 

 

(번외) Vegeta 명령어

  • vegeta attack : 부하 테스트(공격)를 실행
  • -timeout : 각 요청의 최대 대기 시간, 요청이 지정한 시간(예: 20초) 안에 응답되지 않으면 실패로 간주
  • -duration : 실행 시간
  • -rate : 초당 요청 수, 트래픽 양을 설정
  • -targets : 테스트할 대상 URL과 HTTP 메서드 정보가 담긴 파일
  • -workers : 동시에 동작하는 작업 단위(worker)의 수, 병렬 요청 처리에 사용
  • | : 파이프라인, 앞에 있는 vegeta attack에서 만든 결과를 뒤에 있는 vegeta report로 바로 넘기는 것
  • vegeta report : 결과를 요약 보고서 형식으로 출력, 평균 응답 시간, 성공률, 요청/초, 분산 등의 통계가 포함
vegeta attack -timeout=20s -duration=10s -rate=3000/1s -targets=request.txt -workers=100 | vegeta report

# request.txt
GET http://192.168.0.1:8080/users/1
GET http://192.168.0.1:8080/users/2
GET http://192.168.0.1:8080/users/3

최대 20초의 타임아웃으로 100개의 워커가 10초동안 초당 3천번의 요청을 보냄

 

 

 

📑

참고 자료

Chat GPT

https://devstriker.tistory.com/14

 

[Linux] Windows11에 WSL(Ubuntu) 설치

개발환경 세팅을 위해 WSL (Windows Subsystem for Linux)로 내 Windows11에 Linux(Ubuntu)를 설치하고자 한다.  Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11이라면 이하의 과정을 통해 별도의 번거로운

devstriker.tistory.com

https://lsdiary.tistory.com/86

 

Spring cache abstraction, Vegeta 오픈소스 사용해보기

2024.05.08 - [Spring/대용량 트래픽] - Spring Boot Cache Spring Boot Cache2024.05.08 - [Spring/대용량 트래픽] - Redis Cache로 실습하기 Redis Cache로 실습하기2024.05.07 - [Spring/대용량 트래픽] - Redis Cache 이론 Redis Cache

lsdiary.tistory.com

 

 

728x90