1) 전체조회를 대상으로 성능이 좋지 않은 것으로 예상되는 API를 테스트 대상 선정하기
1-1) API 명세서보고 리스트 추리기
1-2) 테스트 시나리오 짜기- 전체조회 했을 때의 테스트 최대치
2) TPS - 점차적 스레드수를 늘려가면서 Saturation Point 지점 찾기
동시 접속시 이서버의 최대치가 어느지점인가를 찾는 테스트
- 전체조회만했을때의테스트 최대치랑
- 누군가 글작성해서 추가되면서 하는 전체조회 비교/(캐싱이 계속 새롭게 되기 때문) 일단 보류
GET방식
API | URL |
---|---|
자유게시판 게시글 조회 | /freeboard/allboard |
오운완 게시글 조회 | /t-exercise/allboard |
오먹 게시글 조회 | /todaymeal/allboard |
헬스장 전체 조회 | /api/gym/all |
트레이너 조회 | /api/trainers/{id} |
<빈도가 적은 API List>
|등록한 헬스장 전체 조회| /api/gym/owner/myposts |
| FAQ 전체 조회| /api/faqs/check |
| 문의 전체 조회| /api/contact/inquiries |
| 공지사항 전체 조회 | /api/managers/notices/check |
| 매니저 가입대기자 조회| /api/manager/standby|
조건 1.
Number of Threads (users) :5000 명의 사용자
Ramp-up period (seconds) : 1초 (예) 10명의 사용자가 10번의 반복적 수행을 1초안에 완료)
Loop Count : 1번의 반복적 수행
->5000요청
조건 2.
Number of Threads (users) :8000명의 사용자
Ramp-up period (seconds) : 1초
Loop Count : 1번의 반복적 수행
-> 요청 8000
조건2 Aggregate Graph 결과 : Shutting test down 5118 /Average 725 / Error율이 0.00% 성공 / 처리시간 : 4초 / 최대 TPS 1855
조건 3.
Number of Threads (users) :7000명의 사용자
Ramp-up period (seconds) : 1초
Loop Count : 1번의 반복적 수행
-> 요청 7000
조건3 Aggregate Graph 결과 : Shutting test down 5024 /Average 834 / Error율이 0.00% 성공 / 처리시간 : 5초 / 최대 TPS 3289
조건 4.
Number of Threads (users) :6000명의 사용자
Ramp-up period (seconds) : 1초
Loop Count : 1번의 반복적 수행
-> 요청 6000
조건4의 Aggregate Graph 결과 : Shutting test down 5823 /Average 657 / Error율이 0.00% 성공 / 처리시간 : 4초 / 최대 TPS 2413
조건 5.
Number of Threads (users) :5100명의 사용자
Ramp-up period (seconds) : 1초
Loop Count : 1번의 반복적 수행
-> 요청 5100
조건5의 Aggregate Graph 결과 : Average 673/ Error율이 0.02% 실패/ 처리시간 : 4초 / 최대 TPS 2594
조건 6.
Number of Threads (users) :5050명의 사용자
Ramp-up period (seconds) : 1초
Loop Count : 1번의 반복적 수행
-> 요청 5050
조건6의 Aggregate Graph 결과 : Average 533 / Error율이 0.00% 성공 / 처리시간 : 3초 / 최대 TPS 2003