성능최적화

단계별로 성장하자!
1. 토큰 재발급에 저장공간이 필요한 이유 현재 JWT 인증방식을 적용하고 있다. 해당 방식의 플로우는 대략 아래와 같다. 로그인시 Access Token과 Refresh Token이 발급된다. 권한이 필요한 API의 경우 header에 Access Token을 추가하여 요청한다. Access Token이 만료된 경우에는 Refresh Token을 통해 Access Token과 Refresh Token 모두 재발급 받는다. 이러한 절차 과정에서 토큰을 저장할 공간이 필요하다. 현재 사용하고 있는 RDBMS인 MariaDB를 사용한 경우와 Redis를 사용한 경우 기능, 성능적 차이를 비교해보았다. 아래는 최종 비교 결과이다. Redis에 대해 자세히 알고 싶으면 이전에 작성한 포스팅을 참고하자! 2023..
1. 성능 최적화 계기 현재 프로젝트는 예약과 관련하여 시간을 많이 다루고 있다. 따라서, DATETIME 타입의 컬럼을 범위 비교 또는 동등 비교하여 조회하는 쿼리가 많이 존재하였다. 해당 컬럼에 대해 인덱스를 지정하여 성능 최적화를 할 수 있을것 같아 Real MySQL 8.0의 도움을 받아 시도해보았고 기간별 예약 내역 조회 쿼리에 대해 1374% 향상을 보게 되었다. 2. 문제의 쿼리 문제의 아래 쿼리는 기간별로 예약 내역을 조회하는 쿼리이다. where절에서 DATETIME 타입의 예약 시작날짜시간에 해당하는 start_at 컬럼에 대해 BETWEEN 연산을 진행한다. 나는 start_at 컬럼에 대해 Index를 적용해보고자 했다. select reservatio0_.project_table_..
DevPoong
'성능최적화' 태그의 글 목록