Performance-Optimierungen
Die AMIs, die Apache als Webserver verwenden, wurden folgenden Optimierungen unterzogen:
- Anpassung der MySQL-Konfiguration, um den Arbeitsspeicher des Servers besser ausschöpfen zu können
- Apache KeepAlives aktiviert, damit mehrere HTTP-Requests über die gleiche TCP-Verbindung getrichtert werden (ist bei Debian bereits Grundeinstellung)
- PHP Opcode Cache (XCache) installiert, um dem Interpreter das Rekompilieren bei jeder Anfrage zu ersparen
- speicherbasiertes Dateisystem für das Cachen von Dateien und Sessions (wurde in den drei vorhandenen AMIs noch nicht implementiert)
Tests haben gezeigt, dass beim Magento-Demo-Shop mit 30 bis 50 Testartikeln die Parse-Zeiten nach Anwendung von Punkt 1 und 2 fast identisch bleiben. Erst nach Installation des PHP Opcode Cache sanken die Parsezeiten von durchschnittlich 1,1 bis 2,9 Sekunden auf 1,0 bis 2,3 Sekunden. Die gleichen Tests auf einer m1.large-Instanz (7,5 GB RAM) mit den gleichen Optimierungen ergeben gemäss Magento-Profiler folgende Parsezeiten:
| Shop-Seite | Seiten-Parsezeit in Sekunden |
| Startseite | 0,2 bis 0,3 |
| Produktauflistung | 0,4 bis 0,6 |
| Produktdetail | 0,6 bis 0,8 |
| Artikel in Warenkorb legen | 0,6 bis 1,2 |
Da die Kosten für eine m1.large-Instanz viermal so hoch sind wie für eine m1.small-Instanz, gibt dies nur bedingt Grund zum Jubel. Mit dem Mitte März 2009 von Amazon neu eingeführten Modell der reservierten Instanzen (Reserved Instances), können die Stundenpreise durch eine einmalige Einrichtungsgebühr allerdings deutlich gesenkt werden, sodass die jährlichen Kosten insgesamt niedriger ausfallen.
Der große Vorteil der Cloud liegt jedoch ohnehin nicht in niedrigeren Server-Kosten im Vergleich zum klassischen Hosting, sondern in der fast grenzenlosen Skalierbarkeit, die man zum Beispiel für groß angelegte Marketing-Aktionen nutzen kann, die hohe Besucherzahlen zur Folge haben. Nach Ende der Aktion können die nicht mehr benötigten Server-Instanzen (automatisch) wieder heruntergefahren werden, bezahlt wird nur der effektiv genutzte Traffic und die tatsächlich genutzten Server-Stunden.
Nginx – High Performance HTTP-Server
Wer noch mehr aus einer m1.small-Instanz herausholen möchte, sollte sich das AMI mit dem vorinstallierten Nginx-Webserver einmal genauer ansehen. Trotz einem vergleichsweise sehr kleinen Marktanteil von 1 bis 4 Prozent ist dieser Open-Source-Webserver bekannt für seine hohe Performance, Stabilität, einfache Konfiguration und niedrigen Ressourcenverbrauch.
In Kombination mit den in dem AMI installierten Varnish (HTTP Accelerator) und APC (PHP-Cache) erreicht der Demo-Shop Parse-Zeiten zwischen 0,8 und 1,0 Sekunden.
Fazit
Mit den in der zweiten Aprilhälfte nun auch in Europa eingeführten Reserved Instances [7] wird EC2-Hosting im Dauereinsatz deutlich günstiger und ist nun eindeutig mit anderen virtuellen Server-Angeboten vergleichbar. Es eignet sich vor allem als günstige Testumgebung und für produktive Magento-Shops mit höherem Traffic, da man nicht den Performance-Schwankungen eines Shared-Hosting-Angebots ausgeliefert ist. Für kleinere Shops dürfte allerdings nach wie vor ein auf Magento ausgerichtetes Shared-Hosting die bessere und günstigere Alternative sein.
Weiterführende Informationen zur Kombination aus Magento und EC2 finden sich im englischsprachigen Magento-Wiki [8]. Dort findet man auch ein von Vinai Kopp zur Verfügung gestelltes Shell-Skript zum automatischen Einbinden von Elastic-Block-Store-Volumes.





Eine Antwort
von Magento Hosting mit Amazon EC2 « O… 10.02.2010 (11:47Uhr) 1.
[...] 16 des t3n Magazins haben wir im Anschluss daran auf der Grundlage dieser Erfahrungen den Artikel Magento Hosting mit Amazon EC2 [...]