2012-04-25 1 views
0

MYSQL의 높은 CPU 사용률로 인해 내 사이트에 최근에 일부 문제가 발생했습니다. Parallels Power Panel을 확인하면 다음과 같이 표시됩니다 : "/usr/sbin/mysqld --basedir =/--datadir =/var/lib/mysql --user = mysql --pid-file =/var/lib/mysql/exa.example.com.pid --skip-external-locking "은 CPU의 높은 %를 사용하고 있으며 사이트는 실제 속도가 느려집니다.CPU에서 이러한 높은로드가 발생하는 이유는 무엇입니까?

전체 사이트에서 모든 MySQL 쿼리를 검사 했으므로 이와 같은 장기적인 문제가 발생하지 않습니다. 사이트에서 라우팅 파일을 사용하지 않도록 설정하면 부하가 거의 감소합니다 (거의 0 %). 다시 켜면 최대 100 %까지 되돌릴 수 있습니다. 나는 오늘 일하러 서버가 다운 되었기 때문에 이것을 발견했다.

db에는 총 200,000 개의 레코드가 10 개의 테이블로 분할되어 있습니다. 아마 프로세스가 끝나지 않았거나 다른 것이 잘못되었다고 생각하기 시작했습니다. 사이트가 멈추기 전에 한 페이지 또는 두 페이지를로드 할 수 있습니다.

어떤 종류의 아이디어를 고려해야합니까? 나는 PHP와 MySQL을 구성 할 때 다소 초보자이기 때문에 너무 많은 것을 아직 실험하지 않았다.

UPDATE :

log-slow-queries = log-slow-queries.log 

long_query_time = 5 

log-queries-not-using-indexes 

합니까 좋아 보이는 : 나는 MySQL의 설정 파일이 추가 한

? 물론, 일단 사이트를 추가하면 로그 파일에 아직 아무 것도 기록되지 않은 것 같습니다 ...

+0

MySQL 프로세스를 "중지"하면 서버로드가 99.95 %에서 5 % - 30 %로 낮아지고 거기에서 달라집니다. 그것은 결국 90 년대까지 다시 울려 퍼집니다. 페이지는 캐싱되어 있으므로 페이지가로드 될 때 캐싱됩니다. 페이지가로드 될 때 프로세스가 종료되면 페이지가 mysql 경고와 함께 캐시됩니다. 이것은 매우 성가신 일입니다. 나는 약간의 도움을 싶습니다 :-D – NotJay

답변

2

문제가있는 쿼리를 찾도록 도움을주기 위해 slow query log을 사용하도록 설정 한 후 검토하십시오. .

또한 "모든 MySQL 쿼리를 확인했다"고합니다 - 어떻게? 그들 모두를 위해 EXPLAIN 계획을 실행 했습니까? 때로는 쿼리가 예상치 못한 방식으로 동작 할 수 있습니다.

+0

나는 쿼리를 테스트하고 한계 등을 추가했습니다. 느린 쿼리 로그 사용에 대해 읽어야합니다. 내가 너에게 돌아갈거야. 감사합니다 – NotJay

+0

mysql db에 대한 설정 파일을 찾을 수 없습니다 .... 호스트 회사와 전화로. 다른 아이디어? – NotJay

+0

어떤 데이터베이스 엔진을 사용하고 있습니까? MyISAM 또는 InnoDB? – Amber

관련 문제