You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Next.js로 구축된 API의 내결함성을 테스트하기 위해 스트레스 테스트를 진행합니다. 특히, 많은 유저가 동시에 위치 전송 버튼을 누르고, 이를 통해 발생하는 GET 요청이 서버에 얼마나 많은 부하를 주는지 측정합니다.
유저 수가 초당 10명씩 점진적으로 증가하는 시나리오를 통해 Context Switching과 같은 성능 저하 문제를 확인합니다. 유저가 증가함에 따라 서버 자원이 어떻게 반응하는지, 그리고 소켓을 통한 위치 전송 API 요청이 늘어날 때 성능 병목이 발생하는지 확인합니다.
🛠️ 테스트 시나리오 개요
테스트 시나리오 흐름
대량의 유저 접속: 여러 유저가 한 채팅방에 동시에 접속.
위치 전송 버튼 클릭: 모든 유저가 동시에 위치 전송 버튼을 눌러, API 요청을 발생시킴.
스크랩 요청 발생: 각 유저가 전송하는 위치 정보는 개별 유저의 닉네임과 위도, 경도 값으로 변환되어, GET /api/scrape?url=... 요청이 서버로 전송됨.
API 응답 성능 측정: 서버는 각각의 요청을 처리하며, 응답 속도와 시스템 성능을 측정.
부하 증가에 따른 서버 상태 관찰: 점점 증가하는 트래픽 속에서 서버의 CPU, 메모리, 네트워크 등의 자원 사용률을 분석.
TPS(초당 처리량) 측정: 각 요청에 대한 처리량(TPS)을 측정하여 서버가 얼마나 많은 요청을 처리할 수 있는지 확인.
🎯 측정 목표
서버 성능 측정: 점진적으로 유저 수가 증가하는 상황에서 서버가 얼마나 안정적으로 처리할 수 있는지 확인하고, 서버가 많은 유저의 요청을 처리하는 능력을 측정.
Context Switching 관찰: 트래픽이 급증할 때 서버의 CPU 스케줄링 및 Context Switching에 따른 성능 변화 측정.
TPS(초당 처리량): 초당 처리할 수 있는 요청의 개수를 측정.
응답 시간 측정: 각 요청에 대한 응답 시간이 얼마인지 측정.
병목 지점 확인: 트래픽이 늘어날수록 발생하는 병목 구간을 확인.
서버 안정성 확인: 서버가 대량의 소켓 연결 및 HTTP 요청을 처리할 때의 안정성 평가.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
목표
Next.js로 구축된 API의 내결함성을 테스트하기 위해 스트레스 테스트를 진행합니다. 특히, 많은 유저가 동시에
위치 전송
버튼을 누르고, 이를 통해 발생하는 GET 요청이 서버에 얼마나 많은 부하를 주는지 측정합니다.유저 수가 초당 10명씩 점진적으로 증가하는 시나리오를 통해 Context Switching과 같은 성능 저하 문제를 확인합니다. 유저가 증가함에 따라 서버 자원이 어떻게 반응하는지, 그리고 소켓을 통한 위치 전송 API 요청이 늘어날 때 성능 병목이 발생하는지 확인합니다.
🛠️ 테스트 시나리오 개요
테스트 시나리오 흐름
위치 전송
버튼을 눌러, API 요청을 발생시킴.GET /api/scrape?url=...
요청이 서버로 전송됨.🎯 측정 목표
⚙️ 테스트 환경
GET /api/scrape
https://map.kakao.com/link/map/{닉네임},{위도},{경도}
위치 전송
버튼을 클릭하여 API 요청을 발생시킴.📝 테스트 시나리오
1. 점진적 부하 테스트
🟢 점진적 부하 테스트 시나리오
위치 전송
버튼을 클릭하여 요청을 전송.GET /api/scrape?url=https%3A%2F%2Fmap.kakao.com%2Flink%2Fmap%2F{유저닉네임},33.4875083,126.5319013
목표
테스트 계획
🧪 테스트 단계별 예상
1. 초기 단계
2. 점진적 유저 증가
3. Context Switching 확인
4. 최대 부하 도달
2. 장기 스트레스 테스트
🟠 장기 스트레스 테스트
위치 전송
버튼을 반복적으로 클릭.GET /api/scrape?url=https%3A%2F%2Fmap.kakao.com%2Flink%2Fmap%2F%EC%84%B8%EB%8B%88%EC%96%8C%2C33.4875083%2C126.5319013
목표
테스트 계획
📊 테스트 데이터 수집 항목
결론
이 테스트는 대규모 유저가 채팅방에 접속하여 위치 전송 버튼을 지속적으로 누르며 발생하는 부하 상황을 시뮬레이션합니다. 서버의 처리 능력을 측정하고, 성능 병목 구간을 확인함으로써 서버가 안정적으로 대규모 트래픽을 처리할 수 있는지 평가하는 것이 목표입니다.
예상 흐름
Beta Was this translation helpful? Give feedback.
All reactions