Frage

Ist Magento in der Regel so schrecklich langsam?

Dies ist meine erste Erfahrung mit ihm und dem Admin-Panel einfach Alter nimmt Änderungen zu laden und zu speichern. Es ist eine Standard-Installation mit den Testdaten.

Der Server, auf dem sie gehostet wird, dient anderen nicht-Magento Websites super schnell. Was ist es über den PHP-Code, Magento nutzt das macht es so langsam, und was getan werden kann, um es zu beheben?

War es hilfreich?

Lösung

ich nur habe bei der Optimierung von Magento für die Leistung tangential beteiligt, aber hier ist ein paar Gründe, warum das System so langsam ist,

  1. Teile von Magento verwenden, um ein EAV-Datenbanksystem auf MySQL implementiert. Das bedeutet, für ein einziges „Ding“ Abfrage bedeutet oft mehrere Zeilen

  2. Abfragen
  3. Es gibt eine Menge Dinge hinter den Kulissen (Anwendungskonfiguration, Systemkonfiguration, Layout Konfiguration usw.), die Riesen-XML-Bäume im Speicher beinhaltet den Aufbau und dann „Abfragen“ die gleichen Bäume für Informationen. Dies geschieht sowohl Speicher (speichert die Bäume) und die CPU (die Bäume Parsing). Einige dieser (vor allem das Layout Baum) sind riesig. Auch wenn nicht Caching eingeschaltet ist, wird dieser Baum aufgebaut von Dateien auf der Festplatte und bei jeder Anfrage .

  4. Magento nutzt seine Konfigurationssystem, damit Sie Klassen außer Kraft zu setzen. Dies ist eine leistungsstarke Funktion, aber es bedeutet, zu jeder Zeit ein Modell, Helfer oder Controller instanziiert wird, extra PHP Anweisungen ausführen müssen, um zu bestimmen, ob eine Original-Klassendatei oder eine Überschreibung Klassendateien benötigt wird. Dies summiert sich.

  5. Neben dem Layout-System, beinhaltet eine Menge von rekursiven Renderingvorlage Systems Magento. Dies summiert sich.

In der Regel wurden die Magento Engineers beauftragt, in erster Linie mit dem Aufbau der flexibelsten, anpassbares System möglich und sorgen später über die Leistung.

Das erste, was Sie tun können, um bessere Leistung zu gewährleisten, schalten Sie das Caching auf (System -> Cache Management). Dies wird ein Teil der CPU / Disk Blockierung entlasten, die weitergeht, während Magento ist seine verschiedenen XML-Strukturen aufzubauen.

Das zweite, was Sie tun wollen, werde ist sicherzustellen, dass Ihr Gastgeber und Operations-Team Erfahrung Performance-Tuning Magento hat. Wenn Sie auf dem $ 7 / month Plan angewiesen sind, um zu sehen Sie durch, na ja, viel Glück damit.

Andere Tipps

Im Anschluss an Alan Storm Empfehlungen auf Caching gibt zwei Dinge, die würde ich ausdrücklich empfehlen Sie Caching im Zusammenhang suchen in:

- Stellen Sie sicher, Caching ist in Memcached, anstatt auf der Festplatte

.

Ich betreue ein paar magento installiert, und wenn Sie jede Art von Last auf dem System erhalten, Memcached beginnt ausführen viel schneller. Und seine Toten einfach zu wechseln (relative andere magento Sachen zumindest zu tun!)

Guter Ausgangspunkt ist hier: http://www.magentocommerce.com/boards / viewthread / 12998 / P30 / -. aber wenn Sie memcached überhaupt noch nicht verwendet habe, seinen wert als auch auf einige allgemeine Informationen darüber suchen

-. Aktivieren template / Ansicht Caching

Dies ist ein guter Artikel: http://inchoo.net/ecommerce/magento / magento-Block-Caching /

Es gibt gute auf der magento Website zu (google magento Block-Caching), aber seine im Moment nach unten.

Um meine zwei Cent auf den Block-Caching hinzufügen, würde ich empfehlen Ihnen, Ihre eigene Blöcke in / app / code / local erstellen, die Kern diejenigen erstrecken und die Cache-Parameter, sie xxx_Cache nennen und dann das Layout aktualisieren zu verwenden diese Blöcke anstelle der Kern diejenigen. Auf diese Weise können Sie Ihre Änderungen nicht zu verlieren oder das System zu brechen, wenn Sie magento aktualisieren.

Wenn Sie es noch nicht gesehen, Magento und Rackspace zusammengetan, um ein weißes Papier auf Performance-Tuning Magento zu erstellen. Es ist exzellent. https : //support.rackspace.com/whitepapers/building-secure-scalable-and-highly-available-magento-stores-powered-by-rackspace-solutions/

--- edit ---

Eine weitere große Ressource, neu verfügbar (Okt 2011) ist: http://www.sessiondigital.com/assets/Uploads/ Mag-Perf-WP-final.pdf

(Danke aufgrund Alan Sturm auf diesen.)

Es ist möglicherweise auch eine sehr nicht-offensichtlichen Grund, warum Ihre Admin-Interface ist sehr langsam. Magento hat ein Modul mit dem Namen Mage_AdminNotification. Versuchen Sie, dass ext zu deaktivieren. Denn das, was sie tut, ist Abfrage magentocommerce.com für neue Update-Nachrichten. Wenn ihre Server langsam Ihre Admin-Seite wartet und ist in der Tat langsam, da der Netzwerkverzögerung und das Laden der externen Nachrichten. Wenn Sie Ihre ausgehende Server-Verbindung durch eine Firewall gesichert haben dies noch frustrierend sein, da das Admin-Interface für den Timeout warten wird, wenn es nicht erreichen kann magentocommerce.com

Um es zu deaktivieren: Folge System -> Konfiguration, scrollen Sie nach unten und drücken Sie Advanced (im erweiterten Bereich). Jetzt Mage_AdminNotification deaktivieren und sparen!

Ich habe nur eine oberflächliche Erfahrung mit Magento. Ich installierte es auf einem gemeinsamen Grid-Server und die Seite geladen war trostlos ~ 5 + Sekunden. Auf einer Lerche, installierte ich es auf meinem optimiert für CMS-Sites dedizierten Server, und es fühlte sich sehr, sehr bissig.

Mein Dedicated Hosting hat ~ 10 Joomla! Websites und eine VBullitin Website läuft.

Meine Vermutung ist, es ist einfach nicht auf Shared-Hosting performant zu gehen. Die Überzeichnung wird einfach nicht genug Ressourcen für Magento erlauben zu laufen, wie es sein sollte.

Ich bin mehr in der verwalteten Server-Optimierung in meiner Firma, aber ich kann ein paar Tipps für Sie. Erstens können Sie sich den Code genauerem Hinsehen mit dem Code Feature von Zend Server Tracing. Es erlaubt Ihnen, um zu sehen, wo und wann die Dinge schmutzig.

ich total benlumley die Überlegung in Bezug auf den Cache teilen. Die meisten der Sehenswürdigkeiten, die wir Gastgeber nicht einmal um den Block-Caching haben aktivieren. Dieser Cache explizit aufgerufen werden muss und nicht „angenommen“. Also, wenn Sie Code noch nicht Teil dieses Mechanismus hat, dann ist es etwas, das Sie auf jeden Fall zu versuchen. Wenn Sie eine EE-Version haben, können Sie die Voll Seite nach oben, um die besten des Tiere zu erhalten.

Ein Reverse-Proxy wird auch helfen, eine Menge. Es wird die statischen Ressourcen-Cache deutlich den Druck auf die PHP-Interpretation Senkung Stapel des vorderen Server.

Vergessen Sie nicht, die Sitzungen und Magento-Cache in einem RAM-Disk zu schreiben. Dies wird auch Sie auf jeden Fall auf eine andere Ebene der Leistungen erhalten.

Es gibt noch viel zu hier gesagt, aber ich bin nicht mehr viel Zeit. Sie müssen wissen, dass ein guter Standort, auch in einer 1.4.1 CE Version kodiert, auf einem 2x5650 Xeon + 16 GB RAM-Server ausgeführt wird und einen Rproxy oben mit bis zu 50 000 Besuchern pro Tag mit glatten Seiten zu jedem nehmen .

Der Wechsel von Apache zu Litespeed hat uns viel geholfen. Zusätzlich zu: Einstellungen Bearbeiten von MySQL, die Installation Fooman Speedster (Modul / zu komprimieren kombinieren js und CSS-Dateien) und die Installation von APC. Magento hat ebenfalls ein Whitepaper auf, wie aus der Enterprise Edition die beste Leistung zu erhalten, aber es ist gleichermaßen auf die anderen Versionen: http://www.magentocommerce.com/whitepaper/

Es gibt viele Gründe, warum Ihr Magento Warenkorb läuft langsam sein könnte, aber keine Ausreden für eine Vielzahl von Möglichkeiten, um das Problem zu eleviate und es verdammt schnell recht zu machen. Aktivieren gzip durch Ihre .htaccess-Datei ändern ist ein Anfang. Sie können auch die fooman Raser Erweiterung installieren. Die verwendeten Servertyp wird auch die Geschwindigkeit Ihres Shops bestimmen. Weitere Tipps und eine bessere Erklärung hier http://www.interactone.com/ how-to-Speed-up-magento /

Magento ist sehr langsam, weil die Datenbank-Design ist nicht sehr gut. Der Code ist ein Chaos und sehr schwer zu aktualisieren und zu optimieren. So alle Optimierungen über den Cache getan werden anstelle von Code.

Auf der anderen Seite. Es ist ein Webshop mit vielen Werkzeugen. Wenn Sie also eine flexible Web-Shop brauchen nur einen sehr leistungsfähigen Server kaufen, und Sie werden in Ordnung sein.

Als ich zum ersten Mal installiert habe ich Seiten, die 30 Sekunden einnahmen zu laden. Mein Server wurde im RAM oder Prozessor nicht ausgereizt, so dass ich wusste nicht, was zu tun ist. Mit Blick auf das Firebug net Panel geladen wurde etwa 100 Dateien pro Seite, und jeder nahm eine lange Zeit zu verbinden. fooman Raser und die gzip in den .htaccess Lasten Zeiten waren bis zu 3 Sekunden nach der Installation, wie sie auf anderen Einkaufswagen auf meinem Server waren.

es wird auch auf die Funktionalität im Vergleich zu Leistung kommen.

Raw Leistung wird gewonnen mit nginx, php-fpm, Memcached, apc und einen richtigen entworfen Server.

Funktionalität wie plesk und magento Leistung verwaltet werden könnte, indem die gesamte Infrastruktur in Perspektive zu nehmen, wenn eine magento Performance Cloud entwerfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top