라이브 프로덕션 서버에서 MySQL을 진단하고 프로필하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/618997

문제

라이브 프로덕션 서버에서 MySQL을 진단하고 프로필하는 데 어떤 도구/방법을 권장합니까?

시스템을 확장하는 대체 방법을 테스트하고 읽기/쓰기 타이밍, 메모리, CPU로드, 디스크 액세스 등에 영향을 미치고 병목 현상을 찾는 대체 방법을 테스트하려는 목표.

도움이 되었습니까?

해결책

우선, 예를 들어 어떤 종류의 모니터링을 설정해야합니다.

기타 도움이되는 도구 : Mytop innotop MTOP Maatkit

또한 로깅을 활성화해야합니다 느린 쿼리 당신의 my.cnf에서.

매개 변수를 조정/변경하기 시작하기 위해 어떤 종류의 테스트 계획을 작성하고 이전/후 결과를 비교하여 변경 사항이 이해되거나 없는지 확인해야합니다.

다른 팁

이것은 내가 조금 일한 것입니다.

  • 모니그 -MySQL 모니터링 서비스. 우리는 이것을 생산에 사용합니다. 무료는 아니지만 경고 및 과거 데이터를 포함하여 많은 기능이 있습니다.

  • MySQL 엔터프라이즈 모니터 - MySQL Enterprise (예 : 저렴하지 않음)와 함께 사용할 수 있습니다.

  • 직접 굴러!

자신의 옵션 롤에 대해 :

우리는 실제로 사용하는 정말 멋진 모니터링 응용 프로그램을 개발했습니다. RRD 도구 (공통 MRTG에서 사용) 및 MySQL 통계 및 Iostat와 같은 시스템 통계의 조합. 이것은 훌륭한 운동 일뿐 만 아니라 단일 인터페이스에서 원하는 것을 정확하게 모니터링 할 수있는 많은 유연성을 제공했습니다.

여기에 있습니다 간단한 설명 자신의 통계 구축에 대한 접근 방식 중 일부.

우리가 모니그를 사용하더라도 우리 자신을 굴리는 동기 중 하나는 디스크 통계를 추적하는 것이 었습니다. 디스크 I/O는 주요 병목 현상이 될 수 있으며 표준 MySQL 모니터링 시스템에는 I/O 모니터링이 없습니다. 우리는 사용 ISTAT 어느 것입니다 Systat 패키지.

디스크 I/O 통계 옆에 MySQL 통계의 그래프를 표시하는 인터페이스가있어 MySQL로드가 디스크 I/O에 어떻게 영향을 미치는지에 대한 전체적인 그림을 실제로 얻을 수 있습니다.

그 전에, 우리는 왜 생산 응용 프로그램이 왜 쇠약 해지고 있는지 전혀 몰랐습니다. 우리는 디스크 I/O가 주요 문제였으며 MySQL이 복잡한 쿼리를 실행할 때 디스크에 많은 임시 테이블을 생성하고 있음을 발견했습니다. 우리는 쿼리를 최적화하고 디스크 성능을 극적으로 향상시킬 수있었습니다.

목록에 추가 : RHQ 4 (오픈 소스) - http://rhq-project.org/

투표 http://tinyurl.com/vote-gif 목록에 추가 :

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top