Apr 07 2008

Schlechte Performance: Magento hat Geschwidigkeits-Probleme

Published by webworker34 at 4:51 pm under E-Commerce

Magento Performance-ProblemeNachdem Magento vor einigen Tagen den Beta-Status verlassen hat, kommen nun die ersten Kritiken zum hochgelobten Shopsystem. Magento hat in der derzeitigen Version mit extrem hohen Performance-Problemen zu kämpfen. Woran es liegt, dass Magento derzeit nur im Schneckentempo läuft ist noch unklar. Schon im September hatte Roman Zenner von cooee schon im Magentoforum auf die Probleme hingewiesen. Scheinbar gab es seither trotz Caching keine durchschlagenden Verbesserungen seitens des Entwicklerteams von Varien.

ZEND, Objektorientierte Programmierung oder einfach nur JavaScript …

Sicherlich liegt es nicht nur an einer Stelle des Systems, die die Performance-Probleme auslöst. Zum einen ist das eingesetzte ZEND-Framework ein ziemlich performancefressendes Framework. Und auch die moderne objektorientierte Programmierung fordert Ihr Tribut, die in der Regel aber durch ein besseres Caching in den Griff zu bekommen ist. Scheibar stellt aber auch so eine “triviale” Geschichten wie das Caching von Javascript (hierfür nutzt Magento das JS-Framework Prototype) ein Problem dar. Im englischsprachigen Forum wurde schon eine überarbeitete Proxy.php eingestellt, die die Javascript-Problematik etwas verbessern soll. Aber auch wenn der Austausch dieser Datei etwas Abhilfe schafft, ist Magento immer noch unerträglich langsam. Schon Mitte März hatte Varien ein offizielles Statement und Tipps zur Performance von Magento veröffentlicht und Besserung in Aussicht gestellt. Aber auch die vorgeschlagenen Tipps bringen bisher kaum Verbesserungen mit sich und auf die Besserung wird derzeit sehnsüchtig gewartet.

Ich hoffe, Varien schafft es bald, die Probleme in den Griff zu bekommen. Es wäre zu schade, wenn eines der wichtigesten OpenSource-Projekte der letzten Jahre aufgrund von Performance-Problemen einen Rückschlag erhält. Aber ganz ehrlich: wer hat wirklich erwartet, dass die Version 1.0 wirklich perfekt ist? Es gilt in den nächsten Wochen mit Sicherheit noch eine Menge Kinderkrankheiten zu beseitigen.


  • Digg
  • del.icio.us
  • YahooMyWeb
  • MisterWong
  • Y!GG
  • Technorati
  • Google Bookmarks
  • SEOigg
  • Webnews
  • Tausendreporter
  • Bloglines
  • Facebook

Tags: , ,

17 Responses to “Schlechte Performance: Magento hat Geschwidigkeits-Probleme”

  1. agenturon 08 Apr 2008 at 4:46 pm

    <p>Hm, schade. Ich bin erst vor kurzem auf Magento aufmerksam geworden und wollte es in nächster Mal testen ob es zum Einsatz taugt. So wie es aussieht werde ich wohl noch warten damit. Wenn es was neues dazu gibt, bitte wieder hier Bescheid “sagen”.</p>

  2. webworker34on 08 Apr 2008 at 5:04 pm

    Klar berichte ich darüber ;-)
    Was mich aber auch sehr freut, ist die Tatsache, dass xt:Commerce nicht den leisen Tod sterben will sondern sich mächtig ins Zeug legt, um das gute Stück zu modernisieren. Es muss ja nicht unbedingt Magento sein, wenn andere das auch können …

  3. Roy Rubin (Magento)on 08 Apr 2008 at 9:24 pm

    Thanks for the comments Ralf!

    Performance is absolutely crucial and we are taking all the necessary steps to continue and improve. You will see significant improvement over time as we continue to get feedback from the community.

    It is clear that Magento is an enterprise-grade product that requires processing resources that are often not available in low-end, shared hosting environments. Given the products flexibility, and strong OOP/MVC architecture it is works best under a VPS/dedicated hosting offering. Our benchmarks in such environments have generated positive and exciting results.

    Thank you again for your comments and we welcome the community’s feedback in this issue.

    Roy / Magento

  4. Yoav (Magento team)on 08 Apr 2008 at 10:32 pm

    I just wanted to add to Roy’s remarks.

    As Roy said, from our testing Magento performs at a reasonable rate on the right hosting environment. We are working with some of our hosting partners on optimizing some hosting plans to run Magento at top performance.

    We are looking into Magento installations that complain about performance and so far found a few things in common in these installations.

    1. Although we strongly recommend running Magento with some kind of Byte Code Caching like APC, we found that many of these installations do not run any sort of Byte Code Caching.

    2. Some of these installations use Magento at very extreme scenarios. We saw installations trying to run 80,000 products with about 1,500-2000 categories all setup as anchor categories (for layered navigation) with about 15-30 filterable attributes per category. This is not an average store by any means and from our testing of about 5,000 products with about 300 categories Magento performs at a very reasonable performance, one that will be suitable for most e-stores today with such features and flexibility. Moreover, if someone wants to run such large catalogs there are a lot of things that can be done to make Magento run faster. We are currently working with one such installation of Magento and will make our findings public once we are done.

    3. Local Custom code. We found several installation with very bad custom code that caused Magento to run at minimum speed. Simply commenting out some of that code caused Magento to run with very good performance.

    Please note that we hold performance as important as we hold the feature set of Magento. We are dedicating resources to work on this and welcome any community suggestions and help.

    thank you,

    yoav

  5. webworker34on 09 Apr 2008 at 9:25 am

    Hallo Roy, hallo Yoav,
    ich antworte mal auf Deutsch:
    Erst einmal vielen Dank für Eure Hinweise. Aus eigener Erfahrung weiß ich, dass eine Enterprise-Lösung sicherlich nicht auf einem Standardserver performant laufen kann. Ich denke auch, dass mit einem ausschließlich genutzten Server die Performance verbessert werden kann. Wer einen schnellen Shop haben möchte, muss nun mal mehr investieren …
    Wo ich allerdings, wie Du schon schreibst, Yoav, Probleme sehe, ist die Unerfahrenheit der “Entwickler”, die sich an Erweiterungen des Shops versuchen. Aus meiner täglichen Praxis weiß ich, dass die meisten Webprogrammierer mit OOP nichts am Hut haben und jede Menge schlechten Code produzieren. Hier solltet Ihr vielleicht über eine “Qualitätssiegel” des Codes nachdenken. Ansonsten wird euch immer wieder schlechter Code nachgesagt, der aber nicht von euch stammt.

    Auf jeden Fall freue ich mich, dass Magento nun in Fahrt kommt und bin sehr zuversichtlich, dass Ihr auch anfängliche Probleme in den Griff bekommt!

    Viel Erfolg!
    Ralf

  6. Shopsoftwareon 09 Apr 2008 at 9:54 am

    Hallo Ralf,

    eine Art “Qualitätssiegel” ist eine gute Idee.

    Andere Frage, was ist an Software-Code, der kein OOP kennt so schlecht? Mal im Ernst, ich habe noch nicht eine Zeile OOP in meinem Leben verwandt und trotzdem sind nicht nur ansehnliche, sondern auch enorm erfolgreiche Shops daraus entstanden.

    Ich finde viele vergessen, dass für einen erfolgreichen Shop nicht der Programmierer, sondern der Händler im Mittelpunkt steht.
    Der komplexeste OOP-Code nutzt gar nichts, wenn ich ewig brauche ihn zu begreifen. In der Zeit habe ich mit der herkömmlichen Art und Weise dafür mehr nützliche Funktionen gebaut, die den Shop im Verkauf weiter bringen. Und im ecommerce (machen wir uns nichts vor) reden wir doch darum den Besuchern des Shops möglichst viel Geld aus der Tasche zu ziehen.

    OSc und XTc sind so beliebt geworden, weil sie von Programmier-’kiddis’ weiterentwickelt oder angepasst werden konnten.
    Magento scheint einfach eine andere Zielgruppe zu haben. Ob das dann auch einen ähnlichen Erfolg wie bei den beiden zuvor genannten Systemen bedeutet, ist eher nicht zu erwarten. Aber ich finde trotzdem, dass es Zeit wurde auch für diese Zielgruppe (advanced Coder & dedicadet Server Besitzer) ein solches System auf die Beine zu stellen.

    Beim Thema Performance sollten die Magento-Entwickler aber tatsächlich alles dran setzen dies zu optimieren. Denn die Zielgruppe (dedicadet Server uns so) scheinen ja nicht Wohnzimmerverkäufer mit 2-5 Bestellungen am Tag zu sein.
    Und ich möchte nicht erleben, wie sich Magento derzeit bei sagen wir mal 1.000 Bestellungen am Tag und den daraus resultierenden Besuchern anstellt.

  7. webworker34on 09 Apr 2008 at 10:49 am

    Hi,
    obwohl ich momentan als Projektmanager der AOK-Seiten sehr viel mit OOP zu tun habe, stehe ich auch nicht voll und ganz hinter dieser Art der Programmierung. Sicherlich gibt es für OOP viele gute Gründe aber vieles kann man auch ohne gut realisieren. Nur: wenn man Erweiterungen für ein komplett objektorientiertes System bauen möchte, muss man sich an dieser Umgebung orientieren. Sonst geht es einfach in die Hose.

    Übrigens sehe ich hier auch ein Problem für PHP: Der Sprung von PHP4 auf PHP5 ist für viele “normale” PHP-Programmierer schon sehr schwierig (gewesen), da PHP5 eine oo Richtung geht. Der nächste Schritt auf PHP6 soll lt. Aussage von den Entwicklern “sehr schmerzhaft” werden. PHP möchte sich mit Sprachen wie JSP und .NET messen. Daher gehen die Entwickler diesen Weg, der meines Erachtens viele “normale” Entwickler und eben auch Agenturen auf der Strecke lassen. Entweder die, wie Du Sie nennst “Programmier-’kiddis’” werden “Erwachsen” oder einfach gestrickte Anwendungen werden irgendwann der Vergangenheit angehören, da es keine Alternative zu Sprachen wie PHP4 gibt. Ich finde das sehr schade ….

  8. Daimon 09 Apr 2008 at 1:03 pm

    Hallo ich wollte nochmal was zu der Performance sagen. Yoav hatte ja schon beschrieben das es da große Shops gibt. Nun ich denke man kann schon fast erahnen das wir einer davon sind und ich momentan mit Yoav in Kontakt stehe. Wie er schreibt benutzen wir selbst auch noch kein APC, da dort noch der alte Shop läuft der dies nicht unterstützt. Wie ich aber auch schon im Forum oft gesagt habe kann man erst was cachen wenn es da ist. Leider dauert bei uns die generierung der Seite wirklich viel zu lange. Ich würde jetzt behaupten das ich was von OOP verstehe und kann sagen das der Shop recht einfach zu erweitern ist. Yoav meinte auch bei einem meiner Module das ich dort ein schlechtes Querie habe nur das die Laufzeit von meinem schlechten bei 0,23 sec lag :-)

  9. webworker34on 09 Apr 2008 at 2:31 pm

    Hallo Daim,
    mal laienhaft gefragt: wäre es nicht möglich, Nachts bzw. bei Neuanlage / Änderungen alle Seiten einmal per Script aufzurufen und damit den Cache zu füllen? Ist zwar keine sehr schöne Lösung aber vielleicht hilft das wenigstens, die Kunden im Shop zu behalten ;-)

    Ich habe mich auch noch nicht genauer mit der Programmierung von Magento beschäftigt. Ich gehe mal davon aus, dass die autoload-Methode genutzt wird um nicht immer unnötigen Code mitzuschleppen …?

  10. Mietshopon 10 Apr 2008 at 6:49 am

    Allerdings kann ein solches Caching nun nicht gerade eine Lösung für ein Enterprise Grade Shopsystem sein.
    Vielleicht sollte man einfach mal den Ensatzbereich von Magento entsprechend definieren, dann muss es halt ein eigener Server mit Mherkernprozessor und mehreren GB RAM sein.
    Was die Zielgruppe deutlich auf größere Shops eingrenzt.

    Ich sehe keinen signifikanten Performanceunterschied bei der Verwendung von objektorientierter Programmierung im Gegensatz zur proceduralen Programmierung und bezweifle daher einfach mal das es daran liegt. Vielleicht haben die Jungs Ihr System auch einfach mal nur mit dermaßen viel auszuführendem Code vollgestopft das das Ergebnis nunmal suboptimal performant ist. Sicher, man kann viel optimieren, und natürlich ist es auch möglich über die Hardware zu skalieren, aber den Massenmarkt erreicht man so wohl kaum.

    Ach übrigens, ich teile die Ansicht von Robert, die Software soll nur funktionieren und alle notwendigen Funktionen bereitstellen, die allerwenigsten Shopbetreiber haben die Ressourcen dafür sich mit der Software herumzuschlagen, die wollen verkaufen und nicht programmieren. Ich bin jedenfalls sehr gespannt wie es mit Magento weitergeht, nun da mal Fakten auf den Tisch kommen.

  11. Daimon 10 Apr 2008 at 8:54 am

    @webworker34: Klar haben wir daran gedacht aber damit umgeht man das Problem nur.
    @Mietshop: ich denke ein intel quadcore mit 8GB RAM sollte reichen. Tut er aber nicht :(

    Bin gestern noch dazu gekommen APC zu installieren. Ist alles schön das gecachte kommt flotter, mehr aber nicht. Das größte Problem/Bremse stellt momentan die Layer Navigation dar. Die es einfach nicht performant. Allein dafür gehen bei uns meist um di 60sec drauf (und das sind nur COUNTs). MVC oder einen anderen Pattern/Konzepte zu verwenden kostet leider immer ein bisschen Performance aber nicht in dem Ausmaß. Wir haben zwar noch nicht aufgegeben lassen aber nun den Notfallplan anlaufen.

  12. Panthera-ITon 14 Apr 2008 at 12:48 pm

    Hallo,
    ob es für kleinen oder großen Shopbetreiber geht, Perfomaze muss stimmen. Zwar können “die Großen” mehr in die Hardware investieren und besseren Server leisten, haben aber auch viel mehr Besucher und das sollte auch entsprechend berücksichtigt.
    Grüße
    Vadim Schulz

  13. […] Nachdem einige Berichte im Netz veröffentlich wurden, unter anderem bei techdivision und kreativ-projekt-blog, sind die verschiedensten Meinigung dazu abgebenen […]

  14. […] Performance gerät in die Kritik, swisscart-webshop.ch Magento hat Geschwidigkeits-Probleme, kreativ-projekt-blog.de Beitrag […]

  15. nonameon 13 May 2008 at 6:16 pm

    Nun ich sehe es da etwas pragmatischer. Varien hat am Anfang nichts von Enterprise Shop etc. gesagt. Magento ist definitiv das zu Zeit modernste was es gibt. Nur mit was will Varien Geld verdienen? Gibt es soviel große Online-Shops die sich einen eigenen Server leisten können? Varien sagt ja immer der deutsche Markt sei ihnen auch wichtig.

    Wieviel der deutschen Shopbetreiber werden sich, bevor er sich einen Server anschafft das nochmals soviel wie eine Ladenmiete kostet, nach betriebswirtschaftlichen durchrechnen ein anderes System raussuchen?
    Der Kaufmann will nun mal eben was verdienen.

    Auch einer der großen Shops überlegt es sich doch mehrmals ob er bei Intershop nicht besser aufgehoben ist, da er dort auch noch deutschen Support erhält.

    Das System ist definitiv super aber ich bezweifele das Magento sich bei der Performance in Deutschland durchsetzen wird. Selbst in englischen Forum von Magento hört man des öfteren nicht ganz nette Worte.

    Mir kommt Varien irgendwie wie Microsoft vor. Unser System ist super kein bisschen langsam. Um es zu nutzen bitte die neueste Hardware nutzen.

  16. TechDivisionon 14 May 2008 at 6:46 am

    Magento ist in unseren Augen - und dann kann ich mich einem Teil meiner “Vorredner” nur anschließen - derzeit das modernste Shopsystem am Markt. Dass eine neue Software, die zumal eine derartige Anzahl an Features bietet, nicht ohne Kinderkrankheiten startet, ist eigentlich nichts wirklich überraschendes. Dennoch glauben wir, dass Magento seinen Weg machen wird. Die Performance, die derzeit ja großes Diskussionsthema ist, sehe ich etwas entspannter. Wir setzten gerade zwei größere Shops mit Magento um und sind hier auch fleissig am testen und optimieren.

    Es ist richtig, dass die Performance im Vergleich zu anderen Open Source Shops hinterherhinkt. Beim Einsatz auf einer “vernünftigen” Maschinen, kombiniert mit einigen Optimierungsmaßnahmen sollte es hier aber keine Probleme geben. Dafür bekommt man auch ein “State-of-the-Art-Produkt” mit sauberem Programmcode.

    Wir sehen Magento, wie hier ja auch bereits angesprochen wurde, eher im Bereich von mittleren bis großen Shops, da zum einen der Implementierungsaufwand in der Regel höher als bei anderen Open Source Shopsystemen ausfallen wird. Bei derartigen Shops sollte ein großzügig dimensionierter Server dann auch nicht mehr das Problem darstellen.

    Auf einen positiven Punkt möchte ich hier auch noch hinweisen. Magento hat in der Vergangenheit alle gemachten Aussagen eingehalten und auch der Kontakt zwischem dem Entwicklerteam und der immer größer werdenden Community ist sehr gut. Von daher sind wir hier recht optimistisch - auch was die Performanceoptimierungen angeht. Und wie heißt es doch so schön: “Rom ist auch nicht an einem Tag erbaut worden”. In diesem Sinne…

    P.S. Sobald unsere Magento-Shop-Projekte gestartet sind, werden wir einen ausführlichen Bericht über unsere Erfahrungen und Maßnahmen veröffentlichen.

  17. Philippon 16 Jul 2008 at 5:53 pm

    Hallo

    @TechDivision: Wollte nachfragen, ob das Projekt gestartet ist und welche Erfahrungen gemacht habt. Vor allem würde es mich interessieren:

    - Wie viele Produkte ihr habt
    - Wie viele Unique Visitors ihr pro Monat habt
    - Welche Infrastruktur das betrieben ist.

    Natürlich sind auch andere Erfahrungen sehr willkommen ;-).

Trackback URI | Comments RSS

Leave a Reply