안녕하세요.
속도가 너무 느려서 튜닝을 하려고 하는데 하루종일 찾아봐도 답이 없어 질문드립니다.
현재 a테이블에 약 80만건의 데이터가 존재하며, 조회쿼리는 약 4초정도 소요됩니다.
다만 이 쿼리를 클라이언트 2개에서 동시에 요청할경우, 이상하게도 둘다 8초가 소요됩니다.(aws rds- cpu1/ram 2gib/mysql8)
3개를 동시에 요청하면 셋다 12초가 걸려요....
근데이걸 제가 로컬 서버(mac환경/mysql5.6)에서 그대로 데이터 덤프떠서 똑같이 요청하면 마찬가지로 한 쿼리에 4초가 걸리는데, 로컬에서는 여러개를 동시에 요청해도 그냥 전부4초에 반환됩니다.
mysql 버전차이일까요 아니면 rds가 cpu가 하나라서 그럴까요...
혹시 락이 걸리나 싶어 동시에 요청한 이후 실행도중에 show full precresslist 로 찍어보면 실제로 2개의 쿼리가 동시에 executing이라고 떠있습니다.
로컬환경/rds환경 다 해당 테이블의 경우 innodb이고,
쿼리내용은 update없는 그냥 select이지만, 내부적으로 셀프조인(group by 포함) 및 sub query가 들어가있습니다.
db쪽은 잘 모르다보니 뭘 확인해야하는지도 감이 잘 잡히지 않습니다 도와주세요..... |