Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 21

Spezialisiertes Shop-Hosting für Magento, Oxid eShop und xt:Commerce

Seite 3 / 4

Hardware

Sowohl Prozessor als auch Arbeitsspeicher sind für den Nutzer am stärksten spürbar. Sie bestimmen, wie schnell der Rechner den geforderten PHP-Code ausführt – die Hauptaufgabe eines Webservers. Bei den Angaben der Hoster ist hier aber etwas Fingerspitzengefühl gefordert: Ein virtueller Server mit acht Kernen etwa entspricht keineswegs einem physikalischen Acht-Kern-Server. Werden beispielsweise vier Kunden auf einem Rechner untergebracht, bleiben dem einzelnen gerade einmal zwei dedizierte CPU-Kerne. Dasselbe gilt für den verbauten Arbeitsspeicher. Hier sind nur „garantierte“ oder „zugesicherte“ Angaben aussagekräftig.

Erfährt der eigene Shop starke Zuwachsraten, ist ein Aufrüsten der Hardware unvermeidbar. Doch nicht jeder Anbieter reagiert so flexibel darauf, wie dies wünschenswert wäre. Das liegt mitunter daran, dass alle im Server verfügbaren RAM-Steckplätze belegt sind. Um solche Unannehmlichkeiten von vornherein auszuschließen, lohnt sich einerseits der direkte Kontakt zum Anbieter. Andererseits garantieren manche Hoster den Einsatz von 19-Zoll-Servern der bekannten Qualitätshersteller. Solche „Markenrechner“ sind darauf ausgelegt, schnell und einfach erweitert zu werden. Ein nicht zu unterschätzender Vorteil, der sich auch beim Thema Redundanz bemerkbar macht. Denn um für den Ernstfall gerüstet zu sein, sollte jede „lebenswichtige“ Komponente doppelt vorhanden sein: zwei Netzteile, zwei Festplatten, im Idealfall auch zwei Netzwerkkarten, die über unterschiedliche Switche in das Netz eingebunden sind.

Redundant ausgelegte Festplatten verbindet für gewöhnlich ein RAID-System. Doch nicht jedes RAID-System eignet sich für den Einsatz in Webservern: Während RAID-1 zwar de facto ausfallsicher ist, benötigt der doppelte Schreibvorgang verhältnismäßig viel Zeit. Besser ist in diesem Fall ein RAID-5 oder sogar ein RAID-10. Auch hier sind Fragen nach der möglichen Erweiterung angebracht: Bietet das RAID noch Platz für weitere Festplatten? Und welche Anschlüsse stellt das System dafür zur Verfügung? Für umfangreiche Datenbanken sind herkömmliche IDE-, SATA- oder SAS-Festplatten möglicherweise zu langsam. In solchen Fällen ist die Aufrüstung mit Solid State Discs (SSD) interessant. Bei besonders großen Anforderungen lohnt zudem ein Blick auf eine Cluster-Lösung: Die Redundanz wird hierbei durch mehrere Rechner sichergestellt; auch die Datenbank findet mitunter auf einem dedizierten Rechner Platz.

Ist das System fürs Erste ausreichend leistungsfähig, bleibt die Leitung als Flaschenhals. Eine entsprechend starke Internetanbindung des Rechenzentrums ist deshalb Grundvoraussetzung, wobei die Angaben hier immer relativ zur Anzahl gehosteter Projekte sind. Da die Hoster mit Zahlen diesbezüglich sehr geizig umgehen, sind explizite Empfehlungen für Leitungsstärken wenig zielführend. Besser ist es, sich an den großen Knotenpunkten des Internets zu orientieren: Wirbt ein Anbieter damit, an einen zentralen „Internet Exchange Point“ (IXP) angebunden zu sein, ist auch mit einer stärkeren Leitung zu rechnen. Der stärkste IXP Deutschlands steht in Frankfurt, weitere Knoten befinden sich in Berlin und Düsseldorf sowie in Zürich, Genf und Wien; eine Liste aller IXPs findet sich im Internet [2].

Software

Was die Software angeht, hat sich für Webserver ein De-facto-Standard etabliert: LAMP, ein Akronym für die Kombination aus Linux, Apache, MySQL und PHP. Während man, bedingt durch die Anforderungen der Shopsysteme, bei MySQL und PHP kaum Gestaltungsfreiraum hat, ist die Empfehlung Linux/Apache durchaus kritisch zu hinterfragen. Zwar bieten sich Linux-Distributionen als Server-Betriebssysteme durchaus an, immerhin sind viele kostenfrei erhältlich sowie schlank und flexibel skalierbar. Dennoch gibt es gravierende Unterschiede in der Handhabung und Nachhaltigkeit. In jedem Fall ratsam ist die Auswahl nach Know-how: Hat sich der Anbieter auf eine spezifische Distribution, Ubuntu beispielsweise, spezialisiert, wird er auch bei Ubuntu den besten Support leisten können. Außerdem lohnt sich ein Blick auf die Versionsnummer: So ist Ubuntu 8.04 LTS zwar die jüngste Version der 8er-Reihe für Server, die bei Ubuntu fünf Jahre andauernde Update-Garantie läuft aber 2013 aus. Besser ist die nur drei Monate jüngere Server-Version 10.04 LTS, die bis 2015 unterstützt wird.

Längst hat auch die Apache Foundation, der Hersteller des gleichnamigen Webservers, Konkurrenz bekommen: lighttpd und nginx gelten als ressourcenschonender und schneller. Kommt dennoch ein Apache zum Einsatz, lohnt wiederum der Blick auf die Versionsnummer (aktuell: 2.2.15, März 2010).

PHP und MySQL werden zwar von den einzelnen Shopsystemen gefordert, doch auch hier kann der Hoster einiges optimieren – wenn er denn möchte. Aktuelle Versionen sind aufgrund der teils gravierenden Sicherheitslücken in früheren Versionen unabdingbar. Da die Zyklen hier wesentlich kürzer sind als etwa im Bereich der Betriebssysteme, kommt man an einem Blick auf die Versionstabellen der Hersteller kaum vorbei [3] [4].

Sowohl für PHP als auch für MySQL gilt ferner, dass sich mittels diverser Parameter in den jeweiligen Konfigurationen sehr viel optimieren lässt. Bei PHP etwa über die maximale Ausführdauer (max_execution_time) und das Speicherlimit (memory_limit) für Skripte sowie die Grenzen für Uploads (upload_max_filesize und post_max_size). MySQL bietet unter anderem Verbesserungspotenzial beim Logging (log), dem Query- und dem Table-Cache (query_cache und table_cache), der Anzahl maximaler Verbindungen (max_connections) sowie der Größe des Indizierungspuffers (key_buffer_size).

Je nach Hoster sind die Konfigurationen bereits oder werden auf Wunsch optimiert oder der Kunde hat selbst Zugriff auf die Parameter und kann diese beliebig anpassen. Für PHP beginnt die Optimierung mitunter schon etwas früher, nämlich bei der Integration in den Webserver: Die veraltete Methode über CGI wurde vom Nachfolger FCGI (Fast-CGI) abgelöst. Als einfacher und sicherer gilt die Einbindung über das Modul „mod_apache“, doch diese ist auch spürbar langsamer. Zudem lässt sich PHP über diverse Erweiterungen stärker absichern und mittels so genannter Opcode- oder Bytecode-Caches beschleunigen, indem derselbe PHP-Code nur einmalig anstatt bei jedem Aufruf neu kompiliert wird.

Magento zähmen
Speziell bei umfangreichen Magento-Installationen gibt es einige Dinge, auf die man achten sollte. Wer noch kein aktives System betreibt, kann bereits bei der Hardware-Auswahl den Grundstein für eine leistungsstarke Magento-Installation legen: Ein 2-GHz-Prozessor ist selbst für kleinste Projekte das Minimum, mit wachsendem Artikelstamm und steigendem Kundenzulauf machen sich zwei, vier oder acht Prozessoren bezahlt. Der Arbeitsspeicher muss dementsprechend angepasst werden: Reicht bei einer CPU womöglich noch 1 GByte, sollten es neben acht Prozessoren mindestens 16 GByte Arbeitsspeicher sein. In der letztgenannten Größenordnung lohnt sich mitunter eine physikalische Trennung der Hauptanwendungen in einen Datenbank- und einen Webserver. Mehrere Server bedeuten aber auch mehr Wartungsaufwand.Für die Wahl des Betriebssystems spielt wiederum die Shopgröße eine entscheidende Rolle: Während bei kleinen Projekten kaum Leistungsunterschiede zu spüren sind, haben Linux-Enterprise-Systeme wie Suse oder Red Hat sowie die Universal-Distribution Debian bei umfangreichen Magento-Installationen die Nase vorn.

Nach der Wahl des Betriebssystems lohnt sich ein Blick auf die mitgelieferten PHP-, MySQL und Webserver-Pakete. Zwar sind diese in allen genannten Linux-Distributionen enthalten, aufgrund anderer Update-Zyklen aber nicht immer in der aktuellsten Version. Ebenfalls lohnt sich ein PHP-Opcode-Cache (auch Bytecode-Cache), der den kompilierten PHP-Quellcode zwischenspeichert, um ein neuerliches Kompilieren zu verhindern. Für Magento den weitaus größten Effekt erzielt dabei der „Alternative PHP Cache“ (kurz: APC), den man als separates Modul von der PHP-Seite bezieht [5].

Für MySQL hingegen sind die integrierten Zwischenspeicher unverzichtbar und im Falle von Magento unbedingt zu vergrößern. Die entsprechenden Parameter werden im Internet aufgelistet [6] und in Büchern detailliert beschrieben [7].

Es bleibt die Streitfrage um den eingesetzten Webserver. Apache bietet sich als etabliertes und bewährtes System an, hat aber mit nginx und lighttpd durchaus Konkurrenz bekommen. Eine sehr gute Leistung erzielt die Kombination aus zwei Systemen, wobei lighttpd als Webserver für statische Inhalte (Bilder, JavaScript-Dateien, Stylesheets) fungiert und Apache die PHP-Anfragen für Magento selbst abarbeitet. Beeindruckende Ergebnisse liefert auch Cherokee [8] ; ein sehr junges Projekt, das insbesondere durch starke Leistung und einfache Handhabung besticht.

Weitere Infos zum Thema Magento-Performance finden sich unter anderem im Blog „Webshopnews“ der Agentur Techdivison, die sich intensiv mit dem Thema beschäftigt [9].

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

2 Reaktionen
Daniel W.

Also tut mir ja leid, aber bei einem brauchbaren Hoster hat man weder mit einem CMS á la Typo3 noch mit einem Shopsystem wie OXID, Magento oder xtc-Forks Probleme. Die häufigsten Probleme gibt es ja mit so Späßen wie falschen Datei- und Verzeichnisrechten, Safe Mode und falscher Konfiguration von Hardened PHP. Bei WebHostOne hatte ich mit solchen Dingen noch nie Probleme und die Preise stimmen da IMHO auch...

Andreas

Artikel schlecht recherchiert.

xt:Commerce 4.0 gibt es seit 1.4.2011 kostenlos als freeware.

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden