it-swarm-korea.com

Drupal에 대한 MySQL 성능 테스트를 진행하는 방법은 무엇입니까?

우리 서버에는 Drupal 사이트가 많이 설치되어 있습니다. 일부 사이트에는 많은보기와 블록이 구성되어 있습니다. 때때로 이러한 사이트 중 하나가 Drupal) 사이트 (뷰와 콘텐츠가 많음)가 갑자기 응답하지 않거나 매우 느려집니다.하지만 나머지 Drupal 콘텐츠가 적은 사이트는 해당 시간 동안 제대로 작동하는 것 같습니다. 순서대로 MySQL 데이터베이스를 다시 시작해야합니다. 응답하지 않도록 Drupal 사이트를 정상으로 되돌립니다. cron을 사용하여주기적인 MySQL 재시작을 설정하는 것을 고려하고있었습니다.

이 주기적 재시작 옵션은 나에게별로 매력적이지 않습니다. 이 문제의 원인을 찾고 싶습니다. 대부분 MySQL 때문이라고 생각하지만 여전히 추측입니다.

서버 성능 문제에 경험이 없습니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? MySQL 문제가 아닌 다른 문제인지 어떻게 확인할 수 있습니까? MySQL 문제인 경우 해결하려면 어떤 기본 단계를 취해야합니까?

5
Ajinkya Kulkarni

DBTuner 및 Devel 모듈의 권장 사항을 두 번째로 설명합니다. 또한 가능할 때마다 Mysql을 다시 시작하지 않아야한다는 데 동의합니다. 그것은 RAM에 많은 캐시를 구축하고 다시 시작하면 다시 시작해야합니다. mysql이 최소한 my-huge.cnf 이상을 사용하고 있는지 확인해야합니다.이 스레드는 Drupal.org http://drupal.org/node/85768 성능 향상을 위해 Mysql을 튜닝하는 방법에 대한 정보가 있습니다. Mysql 구성 변경 사항은 종종 서버를 손상 시키므로 항상 dev 서버에서 my.cnf 변경 사항을 테스트하십시오. 경고 나 설명없이.

또한 PHP에 충분한 RAM이 있는지 확인하십시오. PHP 사이트 만보고있는 경우 지연으로 인해 느린 db 서버가 나타날 수 있습니다. 당신은 그것이 아파치의 성능에 부정적인 영향을 미치기 시작할 수 있기 때문에 당신은 그것이 memory_limit = 32M 이상을 원합니다. (저는 보통 64-126M을합니다.).

여기에는 고성능 그룹도 있습니다 http://groups.drupal.org/high-performance . 주변을 둘러보기에 좋은 곳입니다.

4
Codeblind

사용할 수있는 첫 번째 도구는 Devel -긴 호출이 이루어 졌음을 보여줍니다.
그리고 있다 인터넷에서 mysql을 수행하고 튜닝하기위한 많은 도구.

4
Nikit

MySQL을 정기적으로, 특히 일정에 따라 다시 시작해야하는 경우 문제가 있다고 생각합니다.

이 무 반응은 얼마나 자주 발생합니까? 머신에 대한 SSH 액세스 권한이 있습니까? MySQL 프롬프트에 액세스하여 'show processlist;'를 수행 할 수 있습니까? ?

쿼리가 오래 걸리는 경우 잠긴 테이블 문제라고 생각합니다.

3
Christian

dbtuner 모듈이 매우 유용하다는 것을 알았습니다. 특정 필드를 쉽게 인덱싱하는 방법을 제안하고 제공하기도합니다. 한번 시도해보세요.

2
G.Martin

다음에 이런 일이 발생하면 SHOW FULL PROCESSLIST phpmyadmin/mysql. 실행중인 쿼리가 표시됩니다. 잠긴 테이블과 쿼리가 실행 된 시간 (초) 쿼리를 알고 나면 무엇이 잘못되었는지 파악하는 것이 훨씬 쉽습니다.

나는 약간 편견이 있지만 dbtuer 는 뷰에서 느린 쿼리를 찾는 데 매우 좋은 도구입니다. Devel 모든 느린 쿼리를 찾는 데 적합합니다.

2
mikeytown2