Brauche mehr Performanz für 2 Portale, bitte um Tipps

marcelju

New Member
Hallo, liebe Server–Experten,

Ich habe eine Frage bezüglich der Wahl eines passenden Hosting– oder Server–Pakets:

Zunächst einige Hintergrundinfos: Im Wesentlichen geht es bei mir um zwei Informationsportale. Portal A läuft mit WordPress und hat etwa 1200 Besucher/ Tag. Ich verwende auch etwa 12 Plug-ins inkl. W3 Total Cache. Auch etwa 15 Videos mit höher Auflösung sind an Bord, die bisher insgesamt etwa 150 GiB Trafic/ Monat verursachen. Die Inhalte baue ich weiter aus. Mittelfristig peile ich 2000 Besucher/ Tag an.

Portal B: Hier habe ich derzeit bis zu 6000 Besucher/ Tag, die bis zu 15K Seitenaufrufe tätigen. Das Portal läuft u. a. mit Joomla. Auch hier beginne ich jetzt mit hochauflösenden Videos. Zur Weihnachtszeit erwarte ich einen Anstieg bis etwa 10K Besucher/ Tag. Auch hier verwende ich einige Plug-ins. Das Caching treibe ich so weit, das die meisten Seiten als statische Seiten ausgeliefert werden. Allerdings möchte ich künftig mehr Nutzeraktion einbeziehen, also mehr Dynamik, so das es mit statischen Seiten nicht mehr geht. Außerdem verwende ich ein recht schlankes Design, nicht sehr grafiklastig.

Seit einigen Jahren bin ich bei Host Europe, seit etwa 9 Monaten mit dem Paket „Virtual Server Managed L“ mit garantierten 1 GiB RAM.

Nebenbemerkung: Mit der Performanz bin ich schon lange nicht zufrieden. Mich wundert vor allem folgendes: Bei dem Umstieg von Webpack auf Virtual Server Managed habe ich laut Google Analytics und Webmaster Tools keinerlei Verbesserung der Ladezeiten erreicht. Derzeit sind es etwa 2,5 bis 5 Sekunden, vereinzelt bis zu 9 Sekunden. Der sehr gut erreichbare HE-Support hat mir leider nicht zu einer Lösung verholfen.

Gut. Ich benötige also mehr Performanz. Auch bei einer mehrere hundert Seiten umfassenden Joomla- Installation sollten in etwa 2–2,5 Sekunden die Seiten beim Nutzer geladen sein. Videos natürlich extra und gute Bandbreite seitens des Nutzers vorausgesetzt.

Frage: Welche Konfiguration würdet ihr empfehlen? Muss es aus euer Sicht schon ein dedizierter Server sein? Oder kennt ihr ein passendes Virtual-Server-Angebot? Ich würde generell „Managed“ wählen, da ich mich mit Servern nicht auskenne.

Genauso wichtig wie Performanz ist Zuverlässigkeit, das ich mit den Portalen Geld verdiene.

Außerdem liebäugele ich derzeit mit Content Delivery Network. Was meint ihr dazu im Zusammenhang mit der Virtual-/Server-Wahl?

Im voraus tausend Dank für eure Anregungen.
Marcel
 
Optimierungen ins Blaue sind nicht zwingend erfolgsversprechend.

Es ist wichtig zu wissen, wo die Verzögerungen entstehen. Ist der Webserver zu lahm? Dann Apache tunen oder ggf. austauschen.

Ist es die Festplatte? Bei einem virtuellen System immer wieder Thema (Stichwort "Nachbarschaft").

Ist es MySQL? Dann kann hier ggf. nachgeholfen werden.

Hast du eine Idee wo er die Zeit lässt?
 
1 GB RAM erscheint mir ein bissl wenig in Anbetracht der installierten CMS-Systeme und deren Nutzungsquote. Mein Gefühl sagt mir, Du wirst wohl etwas mehr Geld in die Hand nehmen müssen. Shared Hosting als auch vServer haben halt immer das Risiko der Nachbarschaft insbesondere bei Massenhostern wie HE, 1&1, Strato, S4U usw..

Last but not least, irgendwelche externen Inhalte eingebunden? Das sorgt auch gern für Verzögerungen beim Seitenaufbau.
 
Zur Analyse könntest Du z.B. http://tools.pingdom.com/fpt/ benutzen. Eine solche Auflistung sollte einen Anhaltspunkt bieten, wo die Hänger sind. Dort sollte man dann zielgerichtet ansetzen.

Als CDN könnte https://www.cloudflare.com/overview sehr einfach und kostenfrei eingebunden werden, für Wordpress und Joomla gibt es Plugins, die insbesondere für korrektes Monitoring der Besucher nötig und sinnvoll sind (IP Adresse wird korrekt übermittelt). Hierdurch könntest Du dynamisch bleiben und Dir trotzdem viele DB Aufrufe sparen.

Das könntest Du mit bestehender Infrastruktur ziemlich einfach machen. Im Prinzip brauchts nur einen Umzug der DNS Server, der einem durch automatische Übernahme der Records zudem sehr einfach gemacht wird.
 
Wenn es um Ladezeiten geht hilft erst einmal Daten sammeln.

Auch bei wenig belastetem Server kann die Ladezeit mies sein.

Sehr informativ und ausführlich sind die Analysen von http://www.webpagetest.org

Für schnelle Tests zwischendurch ist das Netzwerk-Modul von Firebug sehr hilfreich, hier gibt es auch eine Art Wasserfalldiagramm.

Davon abgesehen kannst Du mit den grundlegenden Performance-Tools des Betriebsssystems schnell sehen, wie stark dein Server eigentlich belastet ist und ob Du (wenn überhaupt) CPU oder IO-Bound bist.

Schliesse mich aber der Analyse an dass 1GB schnell zu wenig ist, gerade wenn Du Apache einsetzen solltest.

schöne Grüße,
Nils
 
Last edited by a moderator:
Die benutzte Software auszutauschen wirkt manchmal Wunder. Ich setze statt Apache den nginx mit php-fastcgi ein, statt proFTPd den vsftpd.
 
Hallo alle miteinander,

erst mal viele, vielen Dank für eure super Antworten. Ihr habt mir sehr geholfen, den Blick für das Wesentliche "wiederzuerlangen". ;) Nicht einfach 'nen schnelleren Server, sondern erst mal analysieren. Darum habe ich mich in letzter Zeit etwas zu wenig gekümmert. Ok, jedenfalls habe ich heute seit längerem mal wieder einige Stunden in die Optimierung der Ladezeiten investiert, auch mithilfe der von euch vorgeschlagenen Tools.

Inzwischen ist es so, dass etwa die Hälfte der Ladezeit für das Laden der AdSense-Werbung draufgeht. Daran konnte ich nur wenig ändern. (Schade, dass Google viele Optimierungstipps wie z. B. gzip-Kompression und Expire-Angaben anscheinend selber nicht anwendet.) Jetzt beobachte ich in den nächsten 1-2 Wochen erst mal die Ergebnisse meiner heutigen Aktion.

Bezüglich der Bandbreite schreibt Host Europe auf deren Webseite: "[...] Für „Virtual Server Managed“ garantiert Host Europe eine Peak-Bandbreite von 100 Mbit/s. Bei dauerhafter Überschreitung der genutzten Bandbreite von 50 Mbit/s im Wochenmittel behält Host Europe sich das Recht vor, die Bandbreite auf 50 Mbit/s zu limitieren. [...]" -- Ich habe Host Europe mal angeschrieben, wie es eigentlich um meinen derzeitigen Bandbreiten-Verbrauch bestellt ist. Mal sehen ...

Aber jedenfalls habt ihr nicht sofort geschrieben, dass ich bei den Besucherzahlen unbedingt einen eigenen Server bräuchte oder so, sondern eure Reaktionen interpretiere ich in dieser Hinsicht als eher "moderat". Das ist auch schon mal eine Info.

@remote_mind
Davon abgesehen kannst Du mit den grundlegenden Performance-Tools des Betriebsssystems schnell sehen, wie stark dein Server eigentlich belastet ist und ob Du (wenn überhaupt) CPU oder IO-Bound bist.
Könntest du mir hier nähere Tipps geben? Ich habe in meinem Virtual Server SSH-Zugriff, aber keine root-Rechte. Welche Befehle sollte ich denn mal ausführen und was sagen diese aus?

@TerraX
1 GB RAM erscheint mir ein bissl wenig in Anbetracht der installierten CMS-Systeme und deren Nutzungsquote.
Ich bin durchaus bereit, mehr zu bezahlen. Ich denke, dass ich als nächsten Schritt in Erfahrung bringe, wie es mit der bisherigen Auslastung aussieht.

@remote_mind und TerraX: Genau, auf dem Virtual Server kommt Apache zum Einsatz.


Nochmals vielen Dank!
Marcel
 
Last edited by a moderator:
Aber jedenfalls habt ihr nicht sofort geschrieben, dass ich bei den Besucherzahlen unbedingt einen eigenen Server bräuchte oder so, sondern eure Reaktionen interpretiere ich in dieser Hinsicht als eher "moderat". Das ist auch schon mal eine Info.

Naja, die Besuchermengen sind jetzt nicht wirklich enorm und sollte ein guter V-Server schon meistern können. Wie bereits erwähnt ist der Arbeitsspeicher etwas knapp bemessen, gerade da Wordpress nicht gerade das ressourcenschonenste CMS System darstellt.

Mögliche Optimierungsmaßnahmen könnte man bei der MySQL Server Konfiguration, beim Apache in Form der Caching Module/Kompressionsmodule und im PHP mit Modulen wie z.B. xCache, APC oder eAccelerator durchführen. Ich denke aber am meisten würde sich eine Optimierung der MySQL Server Konfiguration bei der Webseitengeschwindigkeit bemerkbar machen.

Ohne Shell Access ist es aber schwierig, die gewünschten Konfigurationen umsetzen zu lassen.
 
Wäre es denn eine Option, die Videos bei youtube zu hosten?

Du kannst sie ja trotzdem "privat" einbinden, so dass sie nur über deine Seite aufgerufen werden können. So sparst du dir einiges an Bandbreite.
 
Möglich wäre auch ein Reverse Proxy auf Nginx Basis für die statischen Inhalte.
 
Wäre es denn eine Option, die Videos bei youtube zu hosten?
In diesem Fall leider nicht.
Möglich wäre auch ein Reverse Proxy auf Nginx Basis für die statischen Inhalte.
Klingt kompliziert. ;) Aber ich lagere derzeit tatsächlich einige Videos aus.

Ich habe in der Zwischenzeit ein wenig mit Host Europe (HE) hin und her gemailt. Folgender Stand: Die monatliche mittlere Bandbreite, die meine Portale derzeit beanspruchen, liegt derzeit im niedrigen einstelligen Bereich. Das wäre also kein Grund für ein teureres Paket.

In den Virtual-Server-Paketen ist der RAM je Prozess auf 256 MB begrenzt. Eine Erhöhung auf 512 MB würde bei Joomla/WordPress laut HE keine Beschleunigung bringen. Aber schon die (bis zu) 256 MB bekommt in der Praxis sowieso kein Prozess, sonst würden in das eine GB ja nur 4 Prozesse passen. Also damit sich mehr Prozesse parallel "austoben" können, wäre eben mehr RAM angebracht. Da habt ihr offenbar völlig Recht. ;)

Das Ausliefern von Videos bzw. Downloads soll laut HE übrigens nur wenig RAM beanspruchen.

Leider habe ich von HE keine Angaben erhalten, wie beansprucht mein Virtual Server bisher eigentlich ist hinsichtlich der Rechenleistung.
 
Last edited by a moderator:
Wenn Du einen vServer hast wäre einmal "top"(htop) interessant, um zu sehen wie hoch die CPU Auslastung ist und ein "free", um zu sehen inwieweit der RAM tatsächlich ausgelastet ist.
Interessant wären noch die IOs (iowait), das ist bei einem vServer recht schnell der Flaschenhals und gerade Videos werden kaum alle im RAM gecached werden können (dafür sind sie einfach zu groß), müssen also von der Platte gestreamt werden, was - unter Umständen - zu Problemen führen kann.

Ansonsten - wie schon gesagt - ist Nginx ein sehr probates Mittel um statische Inhalte effizient auszuliefern, natürlich vorausgesetzt, dass es nicht an den IOs liegt. Lighttpd soll dafür auch nicht schlecht sein, habe ich selbst aber noch nicht ausprobiert. Ich weiß lediglich, dass Youtube einen stark modifzierten Lighttpd einsetzt, um Videos zu streamen.
 
Last edited by a moderator:
Nicht nur für statische Inhalte ist nginx oder der lighty eine Option. Der Apache hat für mich eigentlich nur in einer Multhosting-Umgebung seine Berechtigung. Hier jetzt z.B. einen nginx vor den Apache zu setzen, ist in meinen Augen Unsinn. Der Apache sollte gleich komplett ersetzt werden.

Beim Einsatz von Joomla oder Wordpress darfst du jetzt natürlich (bei den gegebenen Ressourcen) keine riesen Performance erwarten. Das ist beides im Grunde recht schlecht programmierte Software. Für maximale Performance bei minimalem Ressourcenverbrauch kann man daher langfristig auch über einen Ersatz der eingesetzten Software nachdenken.

Konkret würde ich folgendes Setup vorschlagen: nginx + fastcgi, XCache, Percona-MySQL
 
Last edited by a moderator:
Wenn Du einen vServer hast wäre einmal "top"(htop) interessant
Ich habe zwar SSH-Zugriff, aber Befehle wie "top" konnte ich leider nicht ausführen. Es scheint so, dass HE diese Befehle nicht zur Verfügung stellt. Vermutlich kann man mit SSH in diesem Fall nur z. B. Dateioperationen durchführen, Rechte setzen usw.

HE hat mir angeboten, einen "Bytecode-Cache für PHP, z.B. XCache" zu aktivieren. Ich werde mich in den nächsten Tagen mal kundig machen, worum es dabei geht. Habe ihr Erfahrung mit so einem Bytecode-Cache?
Im WordPress-Plug-in "W3 Total Cache" werden diesbezüglich folgende Optionen angeboten (derzeit ausgegraut): Alternative PHP, eAccelerator, XCache, WinCache. Was sind die Vor- und Nachteile dieser Caches?

Außerdem wurde mir der Einsatz von mod_deflate und mod_expire empfohlen. Das schaue ich mir demnächst auch näher an.
 
Als CDN könnte https://www.cloudflare.com/overview sehr einfach und kostenfrei eingebunden werden, für Wordpress und Joomla gibt es Plugins, die insbesondere für korrektes Monitoring der Besucher nötig und sinnvoll sind (IP Adresse wird korrekt übermittelt). Hierdurch könntest Du dynamisch bleiben und Dir trotzdem viele DB Aufrufe sparen.

Das könntest Du mit bestehender Infrastruktur ziemlich einfach machen. Im Prinzip brauchts nur einen Umzug der DNS Server, der einem durch automatische Übernahme der Records zudem sehr einfach gemacht wird.

Was an diesem Rat hat Dir nicht gefallen?
 
Hallo Thunderbyte,

ist doch ein prima Rat. Danke dafür! ;) Ich sammle derzeit erste Erfahrungen damit. Konkret nutze ich seit Kurzem das "Cloud Storage" von Host Europe. Ich weiß, das ist noch nicht ganz CDN ... aber das wird sicherlich noch.

Aber trotz CDN bin ich daran interessiert, dass mein Virtual Server bei Host Europe ausreichend dimensioniert ist und dass keine unnötigen Ladezeitfresser existieren.

Gruß
Marcel
 
Nicht nur für statische Inhalte ist nginx oder der lighty eine Option. Der Apache hat für mich eigentlich nur in einer Multhosting-Umgebung seine Berechtigung. Hier jetzt z.B. einen nginx vor den Apache zu setzen, ist in meinen Augen Unsinn. Der Apache sollte gleich komplett ersetzt werden.

Stimmt natürlich, ich setze selbst gerne auf Nginx, allerdings arbeiten zum Beispiel die Rewriteregeln von Wordpress und co nicht "out of the box" mit ihm zusammen.
Aber wenn der TE diese anpasst könnte er natürlich perfekt auf den Apache verzichten und hätte einen schlanken und stabilen Webserver.

Ps: Bisher ging ich davon aus, dass xCache schon vorhänden wäre. Das ist IMO fast schon eine Pflicht, wenn man eine einigermaßen fixe Wordpress-Installation möchte.
 
Inzwischen ist es so, dass etwa die Hälfte der Ladezeit für das Laden der AdSense-Werbung draufgeht. Daran konnte ich nur wenig ändern. (Schade, dass Google viele Optimierungstipps wie z. B. gzip-Kompression und Expire-Angaben anscheinend selber nicht anwendet.) Jetzt beobachte ich in den nächsten 1-2 Wochen erst mal die Ergebnisse meiner heutigen Aktion.

Bevor Serversoftware ausgetauscht wird, oder andere Massnahmen getroffen werden, ist m.E. die Frage, was die Analyse mit den vorher genannten Tools gebracht hat.
Ist nun die Auslieferung der Videos zu langsam (das hätte dann ja mit dem CMS nichts zu tun), ist die Auslieferung der HTMLs zu langsam? Ist die Datenmenge pro Seite (inkl. eingebundener Grafiken usw.) zu groß? Sind zu viele Ressourcen eingebunden, sodass diese nacheinander geladen werden?
 
Back
Top