고려대상이 아님 - 누군가와 협업하는게 아니기 때문
1) 여러 케이스들로 응답성능 예측
2) 부하가 발생하면 해다 성능 개선
3) AWS 시스템 확장성 확인
4) AWS 시스템의 특성을 확인
1) 테스트 대상 시스템 범위 : Test Tool > Load Balance > Web Server > Data Base
2) 테이터 양
a) 사용자 정보 : 200,000
b) 상품 데이터 : 10,000
c) 사용 기간 : 시간 당 00 회
d) 사용자 패턴
로그인 > 전체조회페이지 접속 > main Page 확인(1m) > event Page 접속 >
event Page Socket 입찰(30m / 평균 30회 요청[분당 1회 요청])
3) 지속적인 성능 유지 기간 : 접속자수가 최대 증가 폭 일일 3시간 동안 성능 유지
4) 부하방법 : nGrinder
a) 테스트 인스턴스 : AWS EC2 (t2.micro) x 10 [점진적 증가]
인스턴스 당 Agent : 1 agent [테스트당 Agent 1 > 2 > 4 > 6 > 8 > 10]
1 Agent 당 Vuser : 100 ~ 1000 [100명씩 추가하여 진행]
b) https : 미사용
c) 부하구간
1구간 : tool > ELB > Web Application Server [Get 요청]
2구간 : tool > ELB > Web Application Server > DataBase [Get 요청]
1) Latency : 1500ms 이상은 서비스 이탈자를 높힘 (체감적으로 느리다고 판단되는 시간)
a) Latency : 모든 지표가 500ms 이하
a-1) MAX 부하시 : 1000ms 이하
2) Throughtput
DAU = 100,000
피크 AU = 70,000
avg.Access - 1User = 20회 (피크 3배)
rps = 약 210 ~ 300 rps 이상 [100,000 * 20 / 86,400 * 3 * 3]
1. 로드밸런서 : AWS ELB
[최대 가능 동시접속 수: 00 명 / 시간당 호출 횟수 제한 : 00 회 /
Avg-Throughput : rps / Avg-Latency : ms]
2. 인스턴스 : AWS EC2
t2.micro 인스턴스 대당 [최대 가능 동시접속 수: 00 명 / 시간당 호출 횟수 제한 : 00 회
/ Avg-Throughput : rps / Avg-Latency : ms]
3. DataBase : AWS RDS (postgreSQL)
t4.micro [최대 가능 동시접속 수: 00 명 / 시간당 호출 횟수 제한 : 00 회
/ Avg-Throughput : rps / Avg-Latency : ms]
4. Cache Server : AWS ELC ()
Cache Server 대당 [최대 가능 동시접속 수: 00 명 / 시간당 호출 횟수 제한 : 00 회 /
Avg-Throughput : rps / Avg-Latency : ms]
공통 ) Login / Token 발급
a) Main 페이지 Raffle 전체 조회
b) event Page/:rafflesId 조회
c) event Page/:rafflesId 페이지 소켓 emit / on