그누보드쓰는데 mysql에서 cpu 점유율 높다면 어떻게하면 좋을까요?
본문
현재 메모리는 80프로가 많이남고
cpu는 밑에 처럼 하면 20프로가 현재 쓰고 80프로가남는데
top -b -n1 | grep -Po '[0-9.]+ id' | awk '{print 100-$1}'
그냥 top 만 쳐보면
맨위에 mysql 300프로~400 프로까지 올라갑니다
이럴경우 사실 버벅은 아니더라도 웹서버 nginx 에 로딩이 좀 길어지고요
이럴경우
쾌적한 웹서버 환경 만들어갈수있는 TIP 이나 방법 좀 알려주심 감사할게요
답변 3
프로세스 리스트 확인
mysql> show processlist;
또는 콘솔에서 mysqladmin 명령을 사용
[root@ns ~] # mysqladmin -uroot -p proc stat -i5 <= 조금더 상세
[root@ns ~] # mysqladmin -uroot -p processlist -i5
참고> show processlist -i5 -> 숫자는 새로고침할 시간(초)
mysql 상태확인
mysql> show status;
콘솔에서 cpu 부하 확인하는법
[root@ns ~] # top
혹은
[root@ns ~] # mysqladmin -uroot -p processlist
해당 프로세스 강제종료
1. mysql>kill id;
2. mysqladmin kill id -u root -p
해당 방법들을 활용해서 어떤게 문제인지 확인해보시고 한번 프로세스 죽이고 재시작 해보시는게 좋을 것 같습니다
개발된 소스에 부하를 초래하는 부분을 체크해서 그 부분을 체크해서 처리해 주셔야 하는 부분입니다.
cpu 1개당 부하라서 접속자가 많으면, 300-400% 도 나와도 정상입니다.
더 많은 접속자를 대비하여 최적화를 진행하시는게 좋을것 같네요.