2010-02-10 4 views
3

우리는 mysql 데이터베이스가 지원하는 확립 된 웹 애플리케이션을 가지고 있습니다. 월 단위로 다양한 테이블에 점진적으로 데이터를 추가합니다. 최근 업데이트 후 데이터베이스 성능이 크게 저하되었으며 업데이트를 취소해야했습니다. 지금까지 웹 서비스 로직에 관련된 쿼리를 확인했습니다. 업데이트가없고 그냥 읽습니다. 나는 모든 쿼리가 효율적인 테이블 인덱스를 사용하고 있음을 입증했다.저장된 데이터가 증가한 후 mysql 성능이 저하됩니다. 체계적인 진단 절차에 대한 힌트가 필요합니다.

나는 진단하기가 어렵다는 것을 알고 있으며 확실한 대답을 기대하지 않고 추가 진단에 대한 조언이 필요하며 문제를 일으키는 원인을 찾아 낼 영역에 대한 힌트가 필요합니다.

답변

3

큰 영향을 줄 수있는 한 가지 방법은 사용 패턴이 주어진 경우 MySQL에 메모리를 할당하는 것입니다.

특정 요구에 맞게 쿼리 캐시, innodb 버퍼 등의 상대적 크기를 조정해야합니다.

다음은 같은 유형의 문제를 해결하는 데 도움이되는 몇 가지 링크입니다.

MySQL Server Performance

10 MySQL Variables that You Should Monitor

Understanding Performance Statistics

MySQLTuner

은 훌륭한 (무료) 튜닝 진단 도구 작성 펄입니다 (무료 등록 필요).

느리게 쿼리 로그를 사용하도록 설정하고 정기적으로 검토하십시오. 데이터 양이 늘어남에 따라 이전에 사용되던 것들은 느려질 것입니다. 메모리 매개 변수를 다시 조정 한 후에는 빠른 쿼리가 느려지거나 특정 쿼리 유형에서 다른 쿼리 유형으로 리소스를 이동할 때도 마찬가지입니다.

쿼리가 잘 보이지만 Explain 명령을 실행하여 인덱스가 사용되고 있는지 확인하십시오.

또한 Sun에서 MySQL Enterprise를 구입하여 포함 된 성능 모니터 및 쿼리 분석기가 매우 유용하다는 사실을 알게되었습니다.

+0

감사! 흡수하기에 좋은 정보가 많습니다. 첫 번째 호출 포트는 쿼리를 살펴 보는 것이 었습니다. 그래서 저는 그것들을 분석하여 인덱스가 효과적으로 사용되고 있음을 확인했습니다. –

+0

나는 약 6 개월 전과 똑같은 일을 겪었으므로 모든 링크를 편리하게 사용할 수있었습니다 :-) –

관련 문제