2009-04-02 5 views
6

방금 ​​drupal 사이트를 구현했습니다. 사이트의 성능이 문제가되는 것 같습니다. 우리는 drupal 캐싱을 사용하고 아파치 캐싱 유도체를 설정했습니다. 반복되는 페이지 방문이 빠르지 만 (coz CSS와 JS가 캐시 됨) 초기 페이지 방문은 여전히 ​​문제가됩니다.Drupal 사이트 속도 향상 팁

Drupal 전문가는 Drupal 사이트의 속도를 높이는 데 사용되는 여러 가지 기술에 대해 조언 해줄 수 있습니까? (DO와 DONOT와 같은). 다른 매달린 과일이 있습니까?

(BTW, DB 문제는 여기에 없습니다. 그 레이어가 빠른 충분하다. 문제는 PHP/드루팔 층에있는 것으로 보인다) 당신이 확신하는 경우 DB가 병목되지 않습니다

+0

이 질문은 프로그래밍이 아닌 Drupal 관리에 관한 주제이기 때문에이 질문은 흥미롭지 않습니다. – Will

답변

5

YSlow 또는 Firebug와 같은 도구를 사용하여 페이지로드 중 실제로 많은 부분을 차지하는 부분을 확인한 적이 있습니까? 또한 Devel 모듈의 쿼리 모니터링을 사용하여 PHP 코드를 실행하는 것보다 쿼리를 실행하는 데 걸리는 시간을 확인하는 것이 좋습니다.

다른 사람들처럼 APC와 같은 opcode 캐시는 큰 영향을 미칠 수 있습니다. 2 차 방문이 더 빠르다는 사실은 보조 파일 (이미지, JS, 원격 사이트를 호출하는 외부 JS 등)의 문제를 암시합니다.

+0

나는 조언이 조각을 초. 천천히 여러 가지를 지적 할 것입니다. – wrburgess

+0

@ wrburgess 그러나 YSlow의 견해를 소금 한알로 가져 가야합니다. 즉, 요청의 brazzillions를 처리하는 페이지를 평가하기 위해 쓰여졌습니다. –

+1

참으로. YSlow 평가에서 가장 좋은 힌트는 이미지/CSS/JS 파일의 수를 포함합니다. Firebug의 각 파일 (로컬 및 원격)이 얼마나 오래로드되는지에 대한 분석은 매우 유용합니다. 대부분의 경우에 도움이됩니다. – Eaton

0

, 그것은을 가리키는 실행 시간 또는 서버 응답.

어떤 종류의 PHP 연산 코드 캐싱을 수행하고 있습니까?

또한 Apache 구성을 확인하십시오. 동시 사용시에만 천천히 작동합니까 아니면 단일 방문자만으로 박쥐를 느리게합니까?

몇 가지 일반적인 단계를 넘어 드루팔의 페이지도 있습니다 : Server tuning considerations

당신은 물론 데이터베이스에 관련된 사람을 무시할 수 있습니다.

4

CSS/JS 속도가 느린 경우 - CSS/JS에 대한 '대역폭 최적화'를/admin/settings/performance에서 사용하도록 설정 했습니까? 모든 CSS (또는 JS)를 하나의 파일로 묶어서 많은 수의 개별 파일 (대기 시간이 킬러)을 사용하면 상당한 차이가 발생할 수 있습니다.

APC과 같은 opcode 캐시를 사용하면 페이지 성능이 크게 달라질 수 있습니다. 특히 모듈을 적재하기 시작하면 특히 그렇습니다. 나는 그것을 사용하지 않고 PHP를 개발하는 것으로 돌아갈 것이라고 상상할 수 없다.

+0

팁 주셔서 감사합니다, 숀 –

0

나는 최근에 Drupal 사이트를 시작했으며 매우 빠르게 실행됩니다. 가장 큰 병목 현상 (Y! Slow에 따르면)은 우리가 추가 한 ShareThis 앱입니다. 또한 Google 웹 로그 분석을 외부에서 다운로드하면 약간의 시간이 추가됩니다.

또한 모든 개발자 모듈의 전원을 끄고 (jscript 및 스타일 오버 헤드를 추가 할 수 있음) 테스트 할 때 관리자로 로그인하지 않았는지 확인하고 최소한의 추가 기능이있는 브라우저 (예 : Chrome)을 사용하고 있습니다. http://il.php.net/apc 또는 eccelerator - - http://eaccelerator.net/

을 모두 실행 PHP 성능을 향상

0

APC를 설치하십시오. 테스트 한 일부 사이트에서 첫 페이지를로드하는 데 걸리는 시간이 ~ 750msec에서 ~ 300msec로 단축되었습니다.

Windows에서 PHP/MySQL/Drupal에 관한 경험이 좋지 않아 램프 결함을 찾는 것이 때로는 쉽습니다. 그래서 저는 권장 할 것입니다 - Windows 기반 설정에서 벗어나십시오.

stackoverflow.com 응답하지 진짜는 ...하지만 syster 사이트는 아직 사용할 수 없습니다 :

3

내가 기사에 대한 page loading performance in Drupal을 썼다. 당신은 그 주제에 관해 당신이 알아야 할 거의 모든 것에 대한 참고를 찾을 수있을 것입니다. 다른 사람들은 이미 언급했듯이 eAccelerator 또는 APC와 같은 opcode 캐시를 설치해야합니다. 설치가 쉽고 무료 성능 향상을 제공합니다!

3

귀하의 사이트에 대한 URL이 있습니까? 빠른 포인터의

커플 : 분명히 느린 무엇이든이있는 경우

  1. 사용 YSlow에
  2. 사용 tools.pingdom.com 확인합니다
  3. 압축 JS와 CSS를
  4. 만 쿠키를 사용 YUI 압축기를 사용하여 필요한 경우
  5. APC/Xcache 사용
  6. 조정 PHP 매개 변수
  7. 정적 인 경우 별도의 서버를 사용하십시오.

HTH를 캐시의 nginx에게

  • 사용 바니시를 사용합니다.

  • 1

    나는 Drupal을 가속화하는 몇 가지 방법을 발견했다. 이미 느린 시스템보다 느린 Godaddy를 사용하고 있었지만 일부 문제를 발견하는 데 도움이되었습니다. 또한 Drupal 7보다 느린 Commerce Kickstart를 사용했습니다.

    Drupal은 약간 느려서 가능한 한 빨리 이러한 작업을 수행해야합니다.

    1. 빠른 데이터베이스 연결이 필요합니다. 느린 네트워크 데이터베이스 연결이 필요합니다.

    2. php.ini/.user.ini에서 수정할 수있는 몇 가지 구성 설정이 있습니다. 드루팔은 당신이 가장 빠른 응답 시간과 호스팅 회사를 선택해야 호스팅 업체에서 호스팅되는 경우

    3. (아래 링크 참조).

    4. 드루팔 캐시 사용 (아래 링크 참조).

    5. 50 개 이상의 모듈을 활성화하지 마십시오.

    6. MySQL을 사용하는 경우 MySQL을 사용하여 쿼리 캐싱을 수행하십시오.

    그런 다음 성능과 관련이있는 프로그램은 프로그래밍 방식입니다. 드루팔 (Drupal 7)은 규모의 의미에 따라 커질 수있는 또 다른 데이터베이스 문제를보고 싶다면 프로필 엔티티를 분해하십시오. 이미 코어에서 느린 부분의 속도를 높이려면 모듈을 직접 작성해야 할 수도 있습니다. 어쩌면 Drupal 8이 일부 문제를 해결할 것입니다.

    +0

    외부 리소스에 연결하는 대신이 대답에 세부 정보를 넣을 수 있습니까? – jakerella

    +0

    외부 리소스는 내가 Drupal 7 및 Drupal Commerce Kickstart에 문제가있을 때 작성한 것입니다. 내가 링크에서 언급 한 것들이 속도를 높이는데 도움이되었고, 며칠이 걸렸고 회사를 호스팅하는 몇 사람이 이것을 알아 냈습니다. 그것은 시간을 절약 할 수 있지만 어쩌면 아닙니다. 내 경험을 읽고 싶다면 너까지. – JTHouseCat

    +0

    의미가 없으므로 링크를 보았는데 원래의 포스터에는 유용 ​​할 수 있다고 생각합니다. 제 요점은 첫 번째 대답 일뿐입니다. 저는 StackOverflow가 답을 찾고자하는 것을 확인하고 싶었습니다. 당신은 [도움말 섹션에서 좋은 팁] (http://stackoverflow.com/help/how-to-answer)을 보았습니다. 그러나 핵심은 외부 리소스가 크지 만 일반적으로 우리가 선호하는 "고기"를 선호한다는 것입니다. 답안에서 인용 할 외부 콘텐츠. 다시 말하지만, 불쾌감을 느끼지 않으려 고 조언을 전합니다. – jakerella