부하테스트 하는데
각 요청당 20ms 안쪽으로 안정적이게 끊기다가
갑자기 POST 요청 한개가 1초 2초 5초 이지랄나더니
다른 GET 요청들도 똑같이 4초 5초 이러다가
request timeout나서 부하테스트 실패 뜸
근데 신기하게도
디비서버 cpu 사용량도 35%인가 밖에 안되고
RAM도 넉넉한거 같은데
왜 저러는거임?
백엔드 서버도 멀쩡해보임
저거 POST 코드 잘못짜서 인증 여러번 하느라 시간 오래걸리는데
여러 테이블 lock 걸어서
다른 쿼리까지 느려지게 한게 원인임?
찾아보니 mysql은 isolation level이 REPEATABLE_READ인데
read 할 때도 테이블에 락건다네?
그럼 write 코드가 문제가 아니라 read 코드 하나 잘못짜서
read query 하나가 겁나 오래 걸리면
그거 때문에 나머지 쿼리 다 락 기다려야 해서
저사단이 난건가?
쓰레드
???
실행중인 쿼리 확인해보면 되지
낼 한번 봐야겠음 ㄱㅅ