MySQL Table 이름이 성능에 영향을 주는 케이스가 있네요.. 서버이야기 | Posted on 2024. 2. 9. 19:44
위는 제가 개발서버로 돌리고 있는 ConoHa Wing 서버 리소스 화면인데..
갑자기 메모리 사용율이 치솟는 시점이, 제가 운영중인 실제 서버 업데이트 시점입니다.
(대충 4 ~ 5 개월만에 업데이트하는거니까.. 23년 10월경에는 최신상태..)
최신버전으로 업데이트하고..
갑자기 터져나가는 것들 이것저것 수정하고..
(원래 서버가 오랜만에 업데이트하면 다 터져나가니..)
별문제없겠거니 하고서 연휴 시작하고서 다시 확인해보니, 개발 서버가 접속이 안되는 현상을 발견해서 하루종일 이것저것 테스트를 진행해보다가..
대략적으로 MySQL Table 명을 수정하니까, sleep 로 빠지는 문제가 해결되네요. (???)
실제서버만 업데이트하고 개발서버는 업데이트가 안됬기 때문에 아마 실제서버 업데이트하면서 뭔가 버그가 있는 버전이 올라왔거나 할거 같은데..
(개발서버는 호스팅 개념으로만 사용이 가능해서;; PHP나 MySQL 버전 관리나 설정을 수정 불가..)
뭐가 문제인지 부터 계속 보는데..
우연히 DB 상태를 보니까, sleep 로 빠진 커넥션들이 많아서 하나 하나 확인해보다 보니, Table 명을 수정해주면 괜찮아지네요;;
문제는 클라이언트등으로 직접 접속해서 Query 를 날리면 1초 이내로 답변이;;
mysqli 만 sleep 로 빠지는데, 개발서버는 업데이트를 안했다는 문제점이;;
(실제서버가 문제면 클라이언트로도 느려야하는데..)
무튼, 서버가 너무 느려서 어떻게 할 수 가 없어서 잠자는동안 cron 을 꺼뒀다가, 원인이랑 파악후에 다시 기동을 했는데..
아직까지는 큰 문제가 없네요.
현재 문제가 발생하는 부분만 자동업데이트 하지 않도록 임시로 주석 처리를..
상황을 보다가 Table 명을 아예 바꿔버리던가 해야겠네요.
일단 정확하게 뭐가 문젠지 서버 하나 더 랜탈해서 클린 설치로 테스트를 진행해봐야;;
문제가 발생한 테이블명은 ci_channel 이었습니다.
여기서 ci_channels 으로 수정하면 또 1초내로 답변이 오는;;
아마 channel 이 무언가 트리거 역활을 하는게 아닌지 의심이 가는데..
일단 할 수 있는건 다 해봐야겠네요..
해당 부분은 후속 글을 쓸지도..;;
(왜 연휴만되면 없던 문제가 터져서 쉬지를 못하게 하는지..)
ps. 최근에 달라가 너무 높아서..
다시 AWS로 가는것도 고민중입니다.
성능은 vultr 가 참 좋긴한데;;
달라라;;