문제

Magento는 보통 너무 느린가요?

이것은 나의 첫 경험이며 관리자 패널은 변경 사항을 로드하고 저장하는 데 오랜 시간이 걸립니다.테스트 데이터를 사용한 기본 설치입니다.

호스팅되는 서버는 Magento가 아닌 다른 사이트를 매우 빠르게 제공합니다.Magento가 사용하는 PHP 코드의 어떤 점 때문에 속도가 느려지고, 이를 해결하려면 어떻게 해야 합니까?

도움이 되었습니까?

해결책

나는 성능을 위해 Magento를 최적화하는 데 접선 적으로 관여했지만 시스템이 너무 느린 몇 가지 이유가 있습니다.

  1. Magento의 일부는 MySQL 위에 구현 된 EAV 데이터베이스 시스템을 사용합니다. 이것은 단일 "사물"에 대한 쿼리를 의미한다는 것을 의미합니다. 종종 여러 행을 쿼리하는 것을 의미합니다.

  2. 무대 뒤에서 많은 것들 (애플리케이션 구성, 시스템 구성, 레이아웃 구성 등)이 메모리에 거대한 XML 트리를 구축 한 다음 정보를 위해 동일한 나무를 "쿼리"하는 것과 관련이 있습니다. 이것은 기억 (나무 저장)과 CPU (나무를 구문 분석)를 모두 취합니다. 이들 중 일부 (특히 레이아웃 트리)는 엄청납니다. 또한 캐싱이 켜져 있지 않으면이 나무는 만들어집니다. 디스크 파일에서 그리고 각 요청에 따라.

  3. Magento는 구성 시스템을 사용하여 클래스를 무시할 수 있습니다. 이것은 강력한 기능이지만 모델, 도우미 또는 컨트롤러가 인스턴스화 될 때마다 원래 클래스 파일 또는 재정의 클래스 파일이 필요한지 확인하기 위해 추가 PHP 지침이 실행되어야합니다. 이것은 더해집니다.

  4. 레이아웃 시스템 외에도 Magento의 템플릿 시스템에는 많은 재귀 렌더링이 포함됩니다. 이것은 더해집니다.

일반적으로 Magento 엔지니어는 가장 유연하고 사용자 정의 가능한 시스템을 구축하고 나중에 성능에 대해 걱정하면서 가장 중요한 임무를 수행했습니다.

더 나은 성능을 보장하기 위해 가장 먼저 할 수있는 일은 (System -> 캐시 관리) Caching을 켜는 것입니다. 이것은 Magento가 다양한 XML 나무를 구축하는 동안 진행되는 CPU/디스크 차단의 일부를 완화합니다.

두 번째로하고 싶은 것은입니다 호스트 및 운영 팀을 확인하십시오 성능 튜닝 magento 경험이 있습니다. 월 $ 7/월 계획에 의존한다면, 당신을 만나기 위해 당신을 만나십시오.

다른 팁

Caching에 대한 Alan Storm의 권장 사항에 따라 캐싱과 관련하여 구체적으로 권장하는 두 가지가 있습니다.

- 캐싱이 디스크가 아닌 멤버에 있는지 확인하십시오.

나는 몇 개의 마젠토 설치를 돌보고, 일단 시스템에 어떤 종류의로드를 받으면, memcached는 훨씬 더 빨리 성능이 뛰어납니다. 그리고 그것을 바꾸기 쉬운 죽은 자.

좋은 출발점은 다음과 같습니다. http://www.magentocommerce.com/boards/viewthread/12998/p30/ - 그러나 이전에 memcached를 사용하지 않았다면 그것에 대한 일반적인 정보도 볼 가치가 있습니다.

- 템플릿/뷰 캐싱을 활성화합니다.

이것은 좋은 기사입니다. http://inchoo.net/ecommerce/magento/magento-block-caching/

Magento 사이트에도 좋은 것들 (Google Magento Block Caching)이 있지만 현재는 아래로 내려갑니다.

블록 캐싱에 2 센트를 추가하려면/앱/코드/로컬에서 자신만의 블록을 만들고 코어를 확장하고 캐시 매개 변수를 정의하고 xxx_cache를 지정 한 다음 대신 해당 블록을 사용하도록 업데이트하는 것이 좋습니다. 핵심 것의. 이렇게하면 Magento를 업그레이드 할 때 변경 사항을 잃거나 시스템을 중단하지 않습니다.

아직 보지 못했다면 Magento와 Rackspace는 팀을 구성하여 성능 조정 Magento에 대한 백서를 만들었습니다. 훌륭합니다.https://support.rackspace.com/whitepapers/building-secure-scalable-n-highly-magento-stores-powered-by-rackspace-solutions/

--- 편집하다 ---

새로 구할 수있는 또 다른 훌륭한 리소스 (2011 년 10 월)는 다음과 같습니다.http://www.sessiondigital.com/assets/uploads/mag-perf-wp-final.pdf

(Alan Storm에 감사합니다.)

관리자 인터페이스가 매우 느린 이유는 매우 불쾌한 이유가있을 수 있습니다. Magento에는 mage_adminnotification이라는 모듈이 있습니다. 그 내선을 비활성화하십시오. 새로운 업데이트 메시지는 Magentocommerce.com을 쿼리하기 때문에. 서버가 느려지면 관리 페이지가 기다리고 네트워크 지연 및 외부 뉴스로드로 인해 실제로 느리게됩니다. 방화벽을 통해 나가는 서버 연결을 확보 한 경우 관리자 인터페이스가 Magentocommerce.com에 도달 할 수 없을 때 타임 아웃을 기다리기 때문에 더욱 실망 스러울 수 있습니다.

비활성화하려면 : 시스템 -> 구성으로 이동하여 하단으로 스크롤하여 고급 섹션 (고급 섹션)을 누르십시오. 이제 비활성화합니다 Mage_AdminNotification 그리고 저장!

나는 마젠토에 대한 피상적 인 경험 만 가지고 있습니다. 공유 그리드 서버에 설치했고 페이지 로딩은 ~ 5+ 초 이상이었습니다. Lark에서 CMS 사이트 전용 서버를 위해 최적화 된 내에 설치했으며 매우 느껴졌습니다.

나의 전용 호스팅에는 ~ 10 Joomla가있었습니다! 사이트 및 Vbullitin 부위가 실행됩니다.

내 생각에 공유 호스팅에서는 성능이 없을 것입니다. 과도한 구독은 Magento가 필요한대로 충분한 리소스를 허용하지 않습니다.

회사의 관리 서버 최적화에 더 관여하지만 몇 가지 팁이있을 수 있습니다. 먼저 Zend Server의 코드 추적 기능을 사용하여 코드를보다 자세히 볼 수 있습니다. 그것은 당신이 물건이 어디에서 그리고 언제 더러워 지는지 확인할 수있게 해줄 것입니다.

캐시에 관한 Benlumley의 고려 사항을 완전히 공유합니다. 우리가 호스팅하는 대부분의 사이트에는 블록 캐싱이 활성화되지 않습니다. 이 캐시는 "가정"이 아닌 명시 적으로 호출되어야합니다. 따라서 코드가 아직이 메커니즘에 참여하지 않았다면, 그것은 당신이 확실히 시도하고 싶은 것입니다. EE 버전이있는 경우 짐승을 최대한 활용하려면 전체 페이지를 얻을 수 있습니다.

리버스 프록시도 많은 도움이 될 것입니다. 정적 인 Ressources를 캐시하여 프론트 서버의 PHP 해석 스택의 압력을 크게 줄입니다.

세션과 마젠토 캐시를 RAM 디스크에 쓰는 것을 잊지 마십시오. 이것은 또한 당신을 다른 수준의 공연으로 만듭니다.

아직 여기에 말할 것이 많지만 시간이 부족합니다. 1.4.1 CE 버전으로 잘 코딩 된 좋은 사이트는 2x5650 Xeon + 16GB RAM 서버에서 실행되며 RPROXY를 사용하면 모든 사람에게 매끄러운 페이지를 사용하여 하루에 최대 50,000 명의 고유 방문자가 필요할 수 있습니다. .

Apache에서 Litespeed로 전환하면 많은 도움이되었습니다. 외에도 : MySQL 설정 편집, Fooman Speedster 설치 (JS 및 CSS 파일을 압축/결합하는 모듈) 및 APC 설치. Magento는 또한 Enterprise Edition에서 최고의 성능을 얻는 방법에 대한 백서를 게시했지만 다른 버전에도 동일하게 적용 할 수 있습니다. http://www.magentocommerce.com/whitepaper/

마젠토 쇼핑 카트가 느리게 달릴 수있는 데는 여러 가지 이유가 있지만 문제를 높이고 꽤 빠르게 문제를 일으키는 다양한 방법이 없습니다. htaccess 파일을 수정하여 GZIP 활성화가 시작입니다. Fooman Speedster Extension을 설치할 수도 있습니다. 사용 된 서버 유형은 또한 상점의 속도를 결정합니다. 더 많은 팁과 더 나은 설명은 여기에 있습니다 http://www.interactone.com/how-to-feed-up-magento/

데이터베이스 디자인이별로 좋지 않기 때문에 Magento는 매우 느립니다. 코드는 혼란스럽고 업데이트하고 최적화하기가 매우 어렵습니다. 따라서 모든 최적화는 코드 대신 캐시를 통해 수행됩니다.

반면에. 많은 도구가있는 웹샵입니다. 따라서 유연한 웹숍이 필요한 경우 매우 강력한 서버를 구입하면 괜찮을 것입니다.

처음 설치했을 때로드하는 데 30 초가 걸리는 페이지가있었습니다. 내 서버가 RAM이나 프로세서에서 최대화되지 않았으므로 어떻게 해야할지 몰랐습니다. FireBug의 NET 패널을 보면 페이지 당 약 100 파일을로드했으며 각 파일을 연결하는 데 오랜 시간이 걸렸습니다. HTAccess로드에서 Fooman Speedster와 GZIP를 설치 한 후 서버의 다른 쇼핑 카트에서와 같이 3 초로 하락했습니다.

그것은 또한 기능 대 성능으로 귀결될 것입니다.

nginx, php-fpm, memcached, apc 및 적절하게 설계된 서버를 사용하면 원시 성능을 얻을 수 있습니다.

plesk 및 magento 성능과 같은 기능은 magento 성능 클라우드를 설계할 때 전체 인프라를 관점에서 고려하여 관리할 수 있습니다.

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