선생님은 Mac, 나는 Windows 시리즈입니다.
즉, 알아서 따라가야하는 시간이라는 뜻입니다.
지금은 Redis를 활용한 caching을 배우고 있는데, 정말 효과가 있나를 테스트 해보기 위해서 발빠르게 Postman을 연속해서 클릭할 수도 있지만, 부하테스트 툴이 따로 존재한다고 하여 해당 툴에서 맡겨보고자 합니다,,
Vegeta
https://github.com/tsenart/vegeta
눈 씻고 찾아보아도 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
https://lsdiary.tistory.com/86
'MinimiProject > 아이돌 티켓팅 접속자 대기열 시스템' 카테고리의 다른 글
[대기열 시스템] Docker Compose로 Grafana와 Prometheus로 모니터링 시스템 구축하기 (0) | 2025.01.26 |
---|---|
[대기열 시스템] RedisTemplate, RedisHash, @Cacheable (1) | 2025.01.25 |
[대기열 시스템] objectRedisTemplate과 ClassCastException (0) | 2025.01.19 |
[대기열 시스템] Windows Docker 환경에서 MySQL 설치 및 연결 (0) | 2025.01.12 |
[대기열 시스템] Windows Docker 환경에서 Redis 설치 (0) | 2025.01.05 |