2010-04-15 2 views
3

내 사이트가 최근에 드래그되기 시작했습니다. 쿼리가 올바르게 조정 된 인덱스를 사용했을 때 예상보다 오래 걸렸습니다. 31 일 가동 후 mysql 서버를 재시작하면 모든 쿼리가 훨씬 빨라지고 전체 사이트가 3-4 배 빠르게 렌더링됩니다.MySQL을 다시 시작하면 사이트가 더 빨리 만들어 집니까?

왜 이런 일이 일어 났을까요? 아마도 my.cnf의 부적절한 설정입니까? 어떤 아이디어를보고 시작할 수 있는지, 왜 그 이유를 정확히 지적 할 수 있습니까?

감사

업데이트 참고 : 나는 16GB의 전용 DB 박스가와 MySQL 일주일 정도 후 메모리의 약 71 %에서 실행됩니다.

+1

아마도 연결을 완료했을 때 제대로 연결을 닫지 않았습니까? –

+0

비 지속 연결을 사용하는 PHP 응용 프로그램이므로 모든 요청이 끝날 때 닫아야합니다. – James

답변

1

show processlist;을 실행 해보십시오. 어떤 이유로 오래 죽지 않는 스레드가있을 수 있습니다.

마찬가지로 SHOW SESSION STATUS LIKE 'Created%';을 실행하여 mysql이 많은 임시 테이블을 생성하지 않았는지 확인하십시오.

서버를 다시 시작하면 모든 열린 임시 테이블이 자동으로 닫히고 스레드가 종료되므로 응용 프로그램이 더 빨리 실행될 수 있습니다.

1

임시 테이블이 삭제/수집되지 않았습니까?

0

분석을 위해 MySQL Enterprise를 사용할 것을 제안합니다. 그것은 30 일 재판이 함께 제공됩니다. 방금 사용했습니다.

과도한 테이블 스캔

대상 서버를 효율적으로 인덱스를 사용하지 않는 것 -

위험 경고 : 우리는 다음과 같은 경고를 받았습니다.

위험 경고 - 과도한 연결 사용

위험 경고 - 과도한 CPU 사용

경고 경고 -의 MyISAM 키 캐시 하위 최적의 적중률을 탐구하는

그냥 뭔가있다!

관련 문제