문제

우리는 프로젝트의 마지막 단계에 있으며 그것을 최적화하기 시작했습니다.

몇 번의 테스트 후, 우리는 페이지를로드하는 데 소요되는 시간의 대부분이 교리에 소비된다는 것을 깨달았습니다.

페이지로드 중 5 초 중 3-4 초는 2 개의 교리 쿼리에만 소비됩니다.

MySQL 서버와 교리 및 결과 캐시에서 쿼리 캐시를 활성화했지만로드 시간이 악화되는 것 같습니다.

수집 할 수있는 한 MySQL 쿼리 캐시가 활성화되었습니다.

편집] 어떤 이유로 든 내 질문의 나머지 부분이 사라져 다시 게시하고 있습니다 [/edit

qcache_free_blocks | 57
qcache_free_memory | 22300072
qcache_hits | 7117
qcache_inserts | 3308
qcache_lowmem_prunes | 0
qcache_not_cached | 4537
qcache_queries_in_cache | 1225
qcache_total_blocks | 2609

문제는 캐시가 닿지 않는 것 같다는 것입니다. 대부분의 시간이 걸리는 쿼리 (평균 3 초)는 결코 변하지 않습니다.

쿼리 / 결과 캐싱을 활성화하는 이유에 대한 팁이있는 사람이 있습니까?

도움이 되었습니까?

해결책

내가 제대로 받았다면, 당신은 현재 가장 느린 쿼리 목록이 없습니다. 나는 이것에서 시작하는 것이 좋습니다.

느린 쿼리 로깅을 켜십시오:

log_slow_queries=/var/log/mysql.slow.log

그리고:

가능한 한 관계를 제한합니다

가능한 한 관계를 제한하는 것이 중요합니다. 이것은 다음을 의미합니다.

  • 트래버스 방향을 부과합니다 (가능하면 양방향 연관성을 피하십시오)
  • 비 필수 연관성을 제거합니다

여기에는 몇 가지 이점이 있습니다.

  • 도메인 모델의 커플 링 감소
  • 도메인 모델의 더 간단한 코드 (양방향성을 올바르게 유지할 필요 없음)
  • 교리를위한 일이 적습니다

도난당했습니다 교리 모범 사례

다른 팁

콘솔/명령 줄에서 쿼리를 시도 했습니까? ORM없이 실행 된시기에 필요한 시간이 흥미로울 것입니다.

나는 교리 사용에 관심이 있지만 공연을 거의 두려워하지 않습니다.

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