• Magento – Die Geschwindigkeitsbremse aufpeppen

    von am 3. April 2009

    media_logo1
    Ich werde hier wahrscheinlich nicht viel neues erzählen dennoch sollte jeder die Liste noch mal durchschauen um evtl. noch ein bisschen Geschwindigkeit zu bekommen. Grundsätzlich sollte man sich evtl. einen Systemadmin zur Rate ziehen, der ein bisschen Ahnung von der Materie hat. Folgendes kann man aber auch sehr gut selbst erledigen.

    1. Installiere die Firefox Extension “Firebug”. Damit kannst du nicht nur Fehler auf deiner Seite erkennen, die evtl. Zeit kosten, sondern auch wieviele Bytes über die Leitung gehen. Man braucht sich nämlich nicht zu wundern wenn die Seite langsam aufgrund einer 1 MB großen Homepage. (Bilder ggf. optimieren).

    2. MySQL – wahrscheinlich kann man über dieses Thema einen eigenen Blogeintrag machen. Man sollte auf jeden Fall, wenn man nur eine Standardkonfiguration am laufen hat sich diese vornehmen. Vor allem Werte mit Cache und dem Zusammenhang zu Innodb sollte man sich genau durchlesen und einfach mal durchprobieren (da man meist keine Erfahrung hat muss man halt etwas spielen).

    3. Apache Module deflate aktivieren bzw. ggf installieren. Damit komprimiert man den Output (wichtig für ISDN oder DSL1000 Nutzer). Jedoch kostet Deflate auch ein bisschen CPU, dies sollte man immer im Auge behalten

    4. Wenn man z.B. Debian einsetzt und eine Standardinstallation einrichtet, gibt es schon ein Mountpoint mit dem tmpfs Filesystem. Das besondere an dem Filesystem ist, dass die Daten im Arbeitsspeicher abgelegt werden, was natürlich ein Nachteil ist wenn man den Server neu startet. Wenn man dies kombiniert und den Magento eigenen Ordner “var” auf ein tmpfs Filesystem legt, kann Magento schneller auf seinen Cache zugreifen. Der Cache kann nämlich ruhig verloren gehen, da er wenn leer, einfach von Magento neu aufgebaut wird.

    5. Magento Module deaktivieren dazu muss man wohl nichts mehr sagen. Nicht einfach den Output der Module im Template rauslöschen, sondern am besten das ganze Modul deinstallieren oder deaktivieren.

    6. Magento Cache einschalten!!! Der Cache war in der Beta und 1.0 wirklich schlecht. Mittlerweile würde ich wieder dazu raten diesen einzuschalten. Da dieser wirklich besser und schneller geworden ist und somit die Seite spürbar und messbar flotter macht.

    7. Apache vs. Nginx
    Apache ist groß und mächtig. Man sollte jedoch auch wenn man nur den Shop auf seinem Server laufen hat andere HTTP-Server testen. In der Community wird momentan aufgrund der Performance der Nginx Server empfohlen.

    8. Benutzt bitte einen eigenen Server (kein v-server). Ihr habt dann nämlich die Möglichkeit und die Freiheit alle genannten Punkte durchzutesten. Nicht nur das der eigene Server meist schneller ist, man bekommt Magento noch flotter wenn die Datenbank und der HTTP-Server (Apache,Nginx) auf zwei getrennten Server laufen. Sollte selbst dann die Geschwindigkeit nicht ausreichen sollte man sich entweder ein Cluster bauen/mieten oder zu einem Anbieter gehen der so etwas anbietet.

    Hier noch meine letzen Testdaten:

    Requests per second
    Nur Sampledata mit Rewrite 34.14 [#/sec] (mean)
    Nur Sampledata mit Rewrite + Use Flat Catalog Category 30.99 [#/sec] (mean)
    Nur Sampledata mit Rewrite + Use Flat Catalog Product 32.79 [#/sec] (mean)

    3 Kommentare »


    • PHP hates me - Der PHP Blog » Danke
      am 6. April 2009 um 08:00 Uhr

      [...] Heute wird’s mal wieder untechnisch, aber ich muss ein großes Dankeschön loswerden. Die letzte Woche war eine ziemlich anstrengende Zeit für mich. Der Umzug nach Hamburg, die neue Stadt und der neue Job (der bis jetzt übrigens genau das ist, was ich mir erhofft habe). Aus dem Grund bin ich unheimlich froh, dass drei Co-Autoren es geschafft haben die Woche mit wunderbaren Artikeln zu füllen. Diesen Beitrag will ich auch eigentlich nur nutzen, um Danke zu sagen, denn ich hätte es nicht geschafft diese Tage zu füllen. Also vielen dank an Evelyne für ihre Artikel über das Zend Framework Buch und dem Interview mit Hans-Jürgen Schönig, Timo Holzherr für sein Burn Down Chart und Damian Luszczymak für die Reihe über Magento. [...]


    • till
      am 2. Mai 2009 um 01:37 Uhr

      Hast Du Tipps bzgl. der Konfiguration von nginx mit php-fcgi? Ich wollte mich da demnaechst mal mit befassen. Bisher liest man nur meist, dass der Einsatz empfohlen wird, aber die wenigsten ‘posten’ Konfigurationen und Benchmarks. :)


    • Sascha Schumann
      am 14. Februar 2011 um 13:43 Uhr

      Den Stack (App-Server+DB) für Magento zu optimieren, bringt immer einiges; für wirkliche Besucheranstürme ist man damit aber immer noch nicht gewappnet.

      Wir haben aufgrund Erfahrungen unserer Kunden deswegen MyraCache entwickelt. Das Fragment-Caching und die Integration mit Magento erlauben eine Performance, die bislang keine andere Lösung erreicht. Seiten werden mit MyraCache schneller ausgeliefert als das menschliche Auge blinkt z.B.

      http://soprado.com/myracache/

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.