반응형
- Case 1, Case 2 : 주차시간을 지켜 주차한 경우로, 보편적이고 일반적인 상황이라 가정한다.
- Case 3, Case 4 : 주차시간을 지키지 않은 경우로, 예외 상황이라 가정한다.→ 예외상황에서
version 1
,version 1-1
은 예약차량 입차가 가능한 상황에서version 2
는 입차 안정성을 갖지 못하는 경우도 발생한다. - → 일반적인 상황, 예외상황 모두 포함하여
version 2
가 예약차량 입차 안정성과 주차장 운영 효율성 모두 가장 높은 수치를 갖는다.
예약처리 일관성 테스트
- 상황 설정
- 주차장 총 구획 수 : 5자리
- 11:00 이후 주차장에 차량이 없으므로, 14:00
15:00, 15:0016:00 예약시 성공해야 한다.
- 테스트 결과
version 0
의 경우, 1번•3번은 14:00 ~ 15:00, 2번•4번은 15:00 ~ 16:00 각각 동일한 시간으로 예약을 진행했으나, 3번•4번 예약만 성공하였다.
→ 예약하려는 시간과 상관없이, 예약을 시도하는 시점에서 주차장의 빈자리를 기준으로 예약 가능 여부가 정해지므로 예약처리 일관성이 보장되지 않는다.version 1
,version 1-1
,version 2
의 경우, 예약을 시도하는 시점과 상관없이 예약 프로세스가 일관성 있게 처리된다.
예약차량 입차 안정성 및 주차장 운영 효율성 테스트
Case 1 : 일반차량이 많은 경우
- 상황 설정
- 일반차량 8대, 예약차량 2대
- 테스트 결과
- 예약차량이 적은 경우,
version 1
,version 1-1
,version 2
모두 예약차량 입차 안정성이 확보되었다. - 주차장의 자리가 있을 경우 모든 예약이 성공하여, 예약시 주차장 운영 효율성은 높게 측정된다.
- 다수의 일반차량이 주차장을 이용할 경우,
version 2
>version 1-1
>version 1
순으로 주차장 공간을 효율적으로 사용한다.
Case 2 : 예약차량이 많은 경우
- 상황 설정
- 예약차량 8대, 일반차량 2대
- 테스트 결과
version 1
,version 1-1
,version 2
모두 예약차량 입차 안정성이 확보되었다.version 1
,version 1-1
은 한정된 예약구역을 갖고 있으므로, 예약차량이 많은 경우 주차장에 자리가 있어도 예약하지 못하는 경우가 발생한다. 반면,version 2
는 예약과 일반차량 입차 모두 빈자리가 있으면 가능하므로 주차장 운영 효율성이 높다.
Case 3 : 일반차량이 출차를 안하는 경우
- 상황 설정
- 10대의 일반차량이 9:00에 1시간 주차시간을 설정하여 입차 시도한다.
- 10:00 ~ 11:00로 10대의 차량이 예약을 시도한다.
- 10:00가 되었지만 9:00에 입차한 차량들이 출차하지 않은 상황이 발생한다.
- 테스트 결과
- 일반차량이 주차하려고 했던 시간이 지나도 출차하지 않은 상태에서, 예약한 차량이 입차하려는 경우,
version 1
과version 1-1
은 예약구역이 확보되어 있으므로 예약한 차량들은 입차가 가능하다. 반면에,version 2
는 예약시간을 지키지 않는 차량이 있을 경우, 다음 예약차량들이 입차하지 못하기 때문에 입차 안정성이 떨어진다. version 2
는 주차장에 빈자리가 있을 경우, 예약과 입차가 모두 가능하므로 주차장을 매우 효율적으로 운영할 수 있다.version 1
,version 1-1
은 주차장에 빈자리가 있음에도 예약, 입차가 불가한 상황이 발생하며,version 1-1
이 공통구역을 이용하여 조금 더 유동적으로 주차장 공간을 활용할 수 있어version 1
보다 조금 더 높은 운영 효율성을 보인다.
Case 4 : 예약차량이 출차를 안하는 경우
- 상황 설정
- 10대의 차량이 09:00 ~ 10:00로 예약을 시도한다.
- 10대의 차량이 10:00 ~ 11:00로 예약을 시도한다.
- 09:00 10대, 10:00 10대 예약한 차량들이 입차를 시도한다.
- 테스트 결과
- 예약차량이 예약종료시간 이후에도 주차장을 나가지 않는 경우,
version 1-1
은 공통구역을 유동적으로 사용할 수 있기 때문에 입차 안정성이 가장 높으며,version 2
,version 1
은 50% 정도의 안정성을 보인다. version 2
는 주차장에 빈자리가 있을 경우, 예약과 입차가 모두 가능하므로 주차장을 매우 효율적으로 운영할 수 있다.version 1
,version 1-1
은 주차장에 빈자리가 있음에도 예약, 입차가 불가한 상황이 발생하며,version 1-1
이 공통구역을 이용하여 조금 더 유동적으로 주차장 공간을 활용할 수 있어version 1
보다 조금 더 높은 운영 효율성을 보인다.
반응형
'공부 > 성능개선' 카테고리의 다른 글
[ParkNav] 코어 로직 동시성제어 테스트 코드 작성 (0) | 2023.04.27 |
---|---|
[ParkNav] QueryDSL을 이용한 관리자 페이지 성능개선 (0) | 2023.04.27 |
[ParkNav] 알고리즘 Version 0 ~ Version 2 (0) | 2023.04.27 |
[ParkNav] QueryDSL을 이용한 성능개선 (0) | 2023.04.19 |
[ParkNav] 검색 성능 개선 기록 (1) | 2023.04.19 |
댓글