실전 프로젝트 3주차. 어제 Redis로 공유자원 관리 로직을 구현한걸 오늘 jmeter로 테스트 해봤다.
10000명에서 반응속도 49368ms에서 11492ms로 줄어 약 76% 정도의 속도 개선 효과가 있었다.
tps 77 → 333으로 약 4.3배 향상되었고, 오류율 14.6%에서 0%까지 줄었다.
데이터 정합성(남은 좌석 수)도 전부 일치했다.
22848ms → 505ms 처리량
176tps →786tps
오류율은 둘다 0%
속도 개선 약 97.8%
추후 개선사항
20000명이상 요청이 늘어날 시 java.net.BindException: Address already in use: connect 에러가 발생해서 오류율이 20%이상 증가했다. 이 부분은 추가로 알아봐야 한다.
그리고 캐시서버가 다운되었을 경우나 정합성이 맞지 않을경우, 그외 예외처리에 대해서 좀 더 공부해봐야 한다.
테스트 전만해도 공유자원을 굳이 Redis로 관리를 해야되나라고 생각했지만 생각보다 응답 속도 개선이 너무 잘 되어서 이 로직을 유지하려고 한다. 불안정할 수 있는 로직이니 생각지 못한 변수가 더 있는지 여러방면으로 생각해서 안정적으로 유지하도록 해봐야 겠다.