Webhosting bei netcup

1

Im deutschen Contao Forum ist nach dem diesjährigen Contao Camp die Frage aufgekommen, ob und wie gut Contao + Composer beim Hoster netcup (Haupt-Sponsor des Contao Camp 2014) läuft. Diese haben uns freundlicherweise ein Web Standard M Paket zur Verfügung gestellt. Wir haben bewusst das kleinste Paket angefragt, damit wir an der unteren Kante des Leistungs-/Preisspektrums testen können. Dieses haben wir auf Herz und Nieren überprüft und konnten selbst die Giganten MetaModels und Avisota darauf installieren!


Über netcup

Als Internet Service Provider für Unternehmen und Privatpersonen betreut die netcup GmbH mittlerweile über 24.000 zufriedene Kunden weltweit. Die besonderen Kompetenzen der netcup GmbH liegen in der Bereitstellung von Webhostingaccounts und Servern sowie deren Betreuung durch Management-Dienstleistungen.

Die netcup GmbH geht am 20. November 2008 aus der am 01. Januar 2007 gegründeten Preuß und Werner GbR hervor. Hiervor wurde netcup.de fünf Jahre als Einzelunternehmen von Dipl.-Ing. (BA) Felix Preuß geführt. Hinter der netcup GmbH steckt somit eine langjährige Tradition, die von der netcup GmbH auch in der Zukunft fortgeführt werden wird.

Die Marke netcup kann sich von Beginn an einen Namen für höchste Qualität machen. Die Qualität wird von vielen positiven Kundenmeinungen, die im Internet verbreitet sind, sowie von unabhängigen nachweislichen Tests bestätigt. Diese Qualität wird dank der Geschäftsgrundsätze, die von den Machern netcups strengstens eingehalten werden, seit über sieben Jahren aufrecht erhalten.

Quelle: https://www.netcup.de/ueber-netcup/


Der Composer Check

Der Composer Check funktioniert tadellos und auch Contao lässt sich damit installieren.


Die Installation

Die Installation mit dem Install Tool funktioniert reibungslos (ich denke das kennt ihr, daher spare ich mir hier die Screenshots). Zu beachten ist aber, dass ihr beim Datenbankserver eine andere IP eingeben müsst, die findet ihr im Webhosting-Panel:


Leistungsmerkmale

Das Standard M Paket verfügt bereits über 1GB Festplatten- und 128M Arbeitsspeicher, da sollte sich durchaus was machen lassen. Deshalb werde ich im folgenden direkt Testläufe mit großen Erweiterungen machen. Kleinere Erweiterungen sollten sich immer installieren lassen, allerdings lässt sich hier keine Pauschalaussage treffen, da der Ressourcenverbrauch von Composer abhängig von den Kombinationen an installierten Erweiterungen sehr stark schwanken kann.


Composer Installation

Die Installation des Composer Client aus dem ER2 läuft erst mal reibungslos, ...

... nach der Migration kommt es allerdings erst mal zu einem "Internal Server Error", dieser wird vermutlich durch eine Exception ausgelöst, die unser composer-plugin erzeugt.

Das ist also völlig in Ordnung und weitestgehend ungefährlich!

Ich hab allerdings keinen Zugriff auf die Server Logs und kann deshalb nicht genau sagen, ob der Internal Server Error wirklich von unserem Plugin verursacht wird, ich gehe aber stark davon aus.

Nach einem Reload der Seite und einem erneuten "Pakete aktualisieren" ist allerdings alles in Ordnung!


Composer Ausführungsmodi

Der Modus während der aktuellen HTTP-Anfrage läuft ohne Probleme.

Für die Modi als Unterprozess des aktuellen Webserverprozesses und als eigenständiger Prozess muss allerdings der PHP-Pfad/Befehl angepasst werden. Dort muss /usr/bin/env php durch /usr/local/php54/bin/php ersetzt werden.

Hinweis: Es können auch neuere PHP Version verwendet werden, ich würde aber grundsätz empfehlen bei der Version zu bleiben, mit der auch das Webhosting betrieben wird um Konflikte zu vermeiden. Das kleine Hosting wird aktuell mit PHP 5.4 betrieben, bei den Expert Paketen kann man die Version ändern und sollte dann auch hier die passende Version auswählen. Um eine andere Version zu verwenden muss /usr/local/php55/bin/php oder /usr/local/php56/bin/php eingetragen werden.


Testlauf im Modus: während der aktuellen HTTP-Anfrage (Standardmodus)

Ich werde die Installation zuerst im Modus während der aktuellen HTTP-Anfrage durchführen, um die Limits zu testen.

Test 1: Official Demo

Die Installation der COD läuft ohne Probleme. Ich musste für die 3.2 zwar erst mal das SQL anpassen, aber danach ließ sich das COD Template auch importieren (die COD ist eigentlich für 3.3+ gebaut).

Test 2: MetaModels

Testlauf: erfolgreich
Pakete aktualisieren: fehlgeschlagen

Die Installation von MetaModels hat scheinbar schon das Memory Limit gesprengt.
Ich musste die Module aus system/modules von Hand löschen und MetaModels erst mal wieder entfernt um die Installation zu retten.

Test 3: Avisota 2

Testlauf: erfolgreich
Pakete aktualisieren: fehlgeschlagen

Auch die Installation von Avisota 2 hat scheinbar das Memory Limit gesprengt.
Auch hier musste ich Hand anlegen um die Installation zu retten.

Test 4: Isotope

Testlauf: erfolgreich
Pakete aktualisieren: erfolgreich

Isotope lässt sich entgegen MetaModels und Avisota 2 erfolgreich installieren. Das liegt vermutlich daran, dass Isotope bei weitem nicht so viele Abhängigkeiten hat. Isotope besteht halt aus einem Großprojekt, während MetaModels und Avisota 2 in Komponenten zerlegt sind.


Testlauf im Modus: als eigenständiger Prozess

Die Installation im Modus als eigenständiger Prozess sollte helfen die Limits zu umgehen. Zusätzlich habe ich das Profiling aktiviert, um genauer Auskunft über die verbrauchten Ressourcen zu bekommen.

Test 1: MetaModels

Testlauf: erfolgreich, Memory usage: 59.8MB (peak: 80.93MB), time: 2.59s
Pakete aktualisieren: erfolgreich, Memory usage: 61.66MB (peak: 82.88MB), time: 29.42s

Beim Update muss man etwas Geduld bewahren, in den 30 Sekunden war die Installation für ca. 20 Sekunden "tot", weil Composer im Hintergrund am aktualisieren war. Auch die Log-Ausgabe wurde angehalten. Bei der Deinstallation war übrigens das gleiche Spiel. Also einfach mal warten und nicht in Panik geraten.

Test 2: Avisota 2

Testlauf: erfolgreich, Memory usage: 76.62MB (peak: 126.1MB), time: 6.01s
Pakete aktualisieren: erfolgreich, Memory usage: 78.64MB (peak: 129.44MB), time: 112.03s

Hier das gleiche Spiel wie bei MetaModels, die Log-Ausgabe hält irgendwann an und man muss hier einfach geduldig warten.

Test 3: Isotope

Testlauf: erfolgreich, Memory usage: 44MB (peak: 54.77MB), time: 3.07s
Pakete aktualisieren: erfolgreich, Memory usage: 44.78MB (peak: 59.46MB), time: 9.86s

Die Installation läuft zügig und ohne Unterbrechungen durch.

Test 4: MetaModels + Avisota 2 + Isotope + mehr

Bisher habe ich die Pakete einzeln installiert und für jeden weiteren Test wieder deinstalliert. Jetzt mache ich mal ein etwas größeres Update mit mehreren Erweiterungen und dazu noch alle auf ein mal!

Testlauf: erfolgreich, Memory usage: 96.18MB (peak: 160.59MB), time: 14.95s
Pakete aktualisieren: erfolgreich, Memory usage: 99.35MB (peak: 165.07MB), time: 262.91s

Abgesehen davon, dass sich die COD und Theme+ scheinbar nicht vertragen, läuft sonst alles.
Aber auch hier gilt, man muss bei der Installation Geduldig sein.


Zusammenfassung

Trotz externer IP des Datenbankservers (kenne ich eigentlich nur von Strato) läuft Contao erstaunlich zügig, man merkt die externe Datenbankanbindung gar nicht (im Gegensatz zu Strato *scnr*).

Die Installation großer Erweiterungen wie MetaModels und Avisota 2 ist durchaus möglich, wenn man vorher auf den Detached Mode wechselt. Allerdings sollte man bedenken, dass diese Giganten auch im Betrieb einige Ressourcen benötigen. Man sollte also nicht davon ausgehen, dass diese Erweiterungen dann auch auf dem Standard M Paket flüssig laufen.

Aber wenn man mal ganz ehrlich ist, auch die Expert Pakete sind für jedermann bezahlbar. Wenn man also mal mehr vor hat, kann man hier ohne große Löcher in seine Brieftasche zu reißen auch noch mal upgraden.

Zurück

Einen Kommentar schreiben

  1. Kommentar von Claudia |

    Vielen Dank für diesen ausführlichen Test!

    Ich konnte mir nicht vorstellen, dass ich zu diesem günstigen Preis was G'scheit's bekomme. Nun kann ich den Hoster beim nächsten Projekt guten Gewissens empfehlen.

    Grüßle
    Claudia