Umgang mit Lastspitzen seitens eines WebHosters

Anhand meines WebHosters webGo, bei dem ich ein GoPaket Gold gebucht habe. Da ich zum IT Freelancer Wettbewerb zwischenzeitlich spontan hohes Trafficaufkommen erwarte, muss mein WebHosting entsprechend gerüstet sein. Leider restartet webGo und vermutlich andere Hoster auch den WebServer, wenn er eine bestimmte Lastschwelle überschreitet. Dies muss er tun, um die Performance der anderen Kunden (mit mir sind es 20/CPU) nicht zu gefährden. Die Empfehlung seitens des Supports lautet, bei erwartbaren Besucherfluten temporär auf einen Managed SSD vServer zu wechseln.

Auf meine Frage, wieviel Anfragen gleichzeitig mein aktueller WebSpace packt, antwortete mir der Support:

Um Ihnen eine ungefähre Vorstellung zu geben, haben wir eine Kurzanalyse Ihrer Internetseite XY durchgeführt. Ihre Internetseite benötigt pro Aufruf im Schnitt 18MB-RAM. Dies wird durch Ihre 256MB-RAM geteilt. Sie würden also ca. 14 Besucher gleichzeitig bedienen können.

Bedenken Sie, dass dieser Arbeitsspeicher zusätzlich auf weitere Internetseite in Ihrem Webspace aufgeteilt wird und dieser Wert nur ein Richtwert ist um die Berechnung zu verdeutlichen.

Irgendwie kann ich mir das nur schwer vorstellen, also führe ich selbst mit JMeter Lasttests durch:

https://www.digitalocean.com/community/tutorials/how-to-use-apache-jmeter-to-perform-load-testing-on-a-web-server

Stress Testing Your WordPress Site So You’re Ready for Traffic Spikes

Umzug einer bestehenden WordPress-Instanz zu WebGo

Für mein aktuelles Projekt, einen Ratgeber für Waffenkoffer musste ich aus Performancegründen einen Umzug durchführen. Man kann sich den offiziellen Moving WordPress Ratgeber durchschauen.

Domain

Als ersten Schritt, da mit Latenz verbunden: In der Regel muss eine Domainfreigabe seitens des alten Providers schriftlich beantragt werden. Bei Host Europe geht das beispielsweise folgendermaßen: https://www.hosteurope.de/faq/domains/verwaltung/freigaben-domains-erteilen/ Achtung, nach einer gewissen Zeit läuft der AUTH-Code wieder ab (bei HostEurope 4 Wochen, bei WebGo 30 Tage) und man muss ihn danach neu beantragen.

Die Domain hinzufügen im WebGo Kundenportal. Da die Domain bereits vergeben ist, erscheint ein spezielles Menü. Hier auswählen, dass man die Domain umziehen will. Dann Domain hinzufügen klicken. Hierdurch entsteht schon mal der Ordner mit dem Namen der Domain, der über WebFTP erreichbar ist.

Vorarbeiten bei altem Provider

Während des Umzugs und sicherheitshalber bis 48h nach der Domainumschreibung sollten kein Editieren/Hinzufügen von Blogposts/-seiten usw. werden. Denn in dieser Zeit kann die Zuordnung Domain-IP zwischen altem und neuem Provider hin- und herschwanken.

Deshalb mach auch eine Weiterleitung via Webmail beim alten Provider auf eine Deiner anderen Email-Adressen. Dann die früheren Emails vom Mailserver downloaden und archivieren.

Zum Umzug der Dateien und Datenbank das WP-Plugin BackWPup nutzen. Dieses erstellt in einer zip-Datei das komplette Backup, welches man in wp-content/uploads findet. Dieses verschiebe nun auf den lokalen Rechner. Leider ist beim Web-FTP von WebGo keine Unzip-Funktion dabei und der Upload ist auf eine Datei/Transaktion limitiert. Darum entzippe das .zip auf dem lokalen Rechner und kopiere alle Dateien (außer die .sql Datei) und Ordner via FTP (z.B. mittels Filezilla) hoch. Bei einer ansehnlich großen WordPress-Instanz hat das auch schon mal 4 h gedauert (die Verbindung ist zwischendrin abgerissen, sodass gelegentliches überprüfen und manuelles Eingreifen erforderlich ist – in diesem Fall alles in der Warteschlange markieren und ‚Warteschlange weiter abarbeiten‘ klicken o.Ä.). Die FTP-Credentials findet man im webGo-Kundenportal, unter dem entsprechenden Vertrag in der Rubrik: FTP-Zugangsdaten. Wer noch kein FTP-Passwort hat, klickt auf FTP-Passwort ändern. Nach dem Transfer der Daten auf den Server kann man im Filezilla-Tab „fehlgeschlagene Übertragungen“ nachschauen und vergleichen, ob die Dateien nicht doch auf dem Server liegen (ist i.d.R. der Fall). Stichprobenartig die Dateien vergleichen und die Anzahl der Dateien in den Ordnern.

Dann eine neue Datenbank anlegen – die Namen sind ohnehin nicht frei wählbar. Dann in PHPMyAdmin die eben angelegte Datenbank auswählen (damit das gleich ausgeführte Skrip weiß, für welche Datenbank es ausgeführt werden soll). Das Skript aus der SQL-Datei des Backups als Text in den Tab: „SQL“ reinkopieren und ausführen. Sollte fehlerfrei und mit dem Text: ‚# MySQL lieferte ein leeres Resultat zurück (d.h. null Datensätze).‘ quittiert werden, was erstmal ein bisschen kontraintuitiv ist. Wer mag, kann auch ein bisschen durch die soeben angelegte Datenbank klicken, um stichprobenartig die Datenbankmigration zu prüfen. Nicht vergessen(!), die wp-config.php noch auf die neue Datenbank anpassen: die Anpassung der Werte ‚DB_NAME‘, ‚DB_USER‘ und ‚DB_PASSWORD‘ sollten genügen.

Wer die erfolgreiche Migration der WordPress-Instanz testen möchte, sollte den webGo-Support bitten, die Startseite per URL erreichbar zu machen. Die etwas Mutigeren gehen einfach den Weg, der im nächsten Absatz beschreiben ist 😉

Bisher ist noch nichts geschehen, was die Nutzer da draußen mitbekommen. Wenn irgendwas schief gegangen ist, kann man den Prozess nochmal neu aufrollen und keiner bekommt es mit. Mit dem nächsten Schritt, der Domainumstellung ändert sich das. Den Auth-Code zum TRANSFER bekam man (durch den ersten Schritt dieser Anleitung) ja vom Altprovider und gibt ihn nun bei WebGo Kundenportal unter Domains -> Domains ein. Dann kann es nach der Erfolgsmeldung bis zu 48h dauern, bis alle Nameserver weltweit auf die neue IP zeigen. Diese Zeit sollte man mindestens auch abwarten oder sich ganz sicher sein, bevor man neue Artikel hinzufügt usw., denn sonst editiert man die alte Instanz.

Prüfe nach dem Umzug die Website insgesamt – klicke Dich durch viele Seiten/Artikel und schau ob Dir was auffällt oder fehlt. Prüfe auch die einzelnen Plugins (v.a. das automatische Backup, Newsletter (existieren die notwendigen Email-Adressen?)). Hat sich etwas an den URLs geändert (z.B. index.php weggefallen? -> in dem Fall mach eine für SEO ausgerichtete 301 Weiterleitung) – dies kann man prüfen, indem man einen alten Artikel via Google sucht – dort sind ja die alten URLs referenziert.

Jetzt noch die Email-Adressen beim neuen Provider einrichten.

WebGo WordPress Hosting

Aktuell hat WebGo ein unschlagbares Platin-Angebot:

Ein halbes Jahr kostenlos, keine Setup-Gebühr, Zufriedenheitsgarantie und bis zu 11 domains kostenlos registrierbar. Der Support meinte auf meine Frage, ob sich das für WebGo überhaupt rechnet, dass sie Mitglied der DENIC und ihre Preise schon sehr eng kalkuliert sein.

"Ein Upgrade (z.B. von Gold zu Platin) ist jederzeit möglich und Sie können auch die verbleibenden 'Frei-Monate' beim Upgrade mitnehmen"

Da bietet es sich natürlich an, erstmal das Silberangebot zu buchen und das erstmal zu testen. Und dann bleibt auch noch eine weitere Sicherheit:

"Sollten Sie Probleme haben bei denen wir Ihnen absolut nicht weiterhelfen können, dann können Sie von der Zufriedenheitsgarantie gebrauch machen."

Ein Wermutstropfen bliebt der Jahresvertrag, der sich bei Nichtkündigung immer um ein Jahr verlängert.

Zum Angebot gehören folgende WordPress-relevanten Features: kostenloses SSL-Zertifikat, PHP 7.0 (PHP 7.1 wird zwar angeboten, aber aktuell noch nicht empfohlen), MySQL 5.7, SSD-Festplatten, Rechenzentrum in Frankfurt unweit des DE-CIX.

Außerdem hat WebGo einen Support-Chat (machte kompetenten Eindruck, antwortete binnen Minuten zahlreiche Fragen), was sehr angenehm ist, weil man nicht in einer Telefonwarteschleife hängt und bis zur Antwort am Computer weiterarbeiten kann. Am besten man aktiviert das Tonsignal, dann bekommt man mit, wenn der Support-Mitarbeiter geantwortet hat.

"Die Backups des Servers werden in der Regel täglich getätigt allerdings lassen sich aus diesen keine einzelnen Kunden extrahieren so dass wir diese nur in Kriesen nutzen. Wir empfehlen manuelle Backups im Webspace Admin durchzuführen. Diese Backups werden grundsätzlich auf den FTP Server unter /home/backup hinterlegt. Bei Bedarf können Sie sich dieses dann per WebFTP oder einen FTP Client herrunterladen."

Nach der Registrierung war der Webspace sofort nutzbar und via Kundenportal -> Aktive Verträge -> Webspace Admin -> WebFTP -> index.html kann man sich seine Startseite anzeigen lassen.

WordPress-Hosting

Mit speziellem WordPress-Hosting bekommt man einiges an Arbeit abgenommen und schafft teilweise günstigere Bedingungen, als man sie selbst erzeugen könnte. Eine Nischen-Stratgie ist es, die WordPress-Instanz erstmal auf einem kostenlosen Angebot laufen zu lassen bei einem Billiganbieter und dann umzuziehen, falls die Nischen-Seite tatsächlich Fahrt aufnimmt und vielversprechend ist.

interessanter Artikel mit Empfehlung von managed WordPress Hosting bei Host Europe

Anforderungen

offizielle Anforderungen seitens WordPress selbst

Server sollte in Deutschland stehen (als Mini-Kriterium bei SEO)

SSD-Festplatten, z.B. NGINX-Cache für Performance

PHP7 (Performance)

Eigene IP-Adresse (SEO-Kriterium: kein bad neighborhood, kein Linkfarmverdacht, Exklusivität=Bedeutungssignal)

Kostenloses SSL-Zertifikate (SEO-Kriterium)

tägliches automatisches Backup

monatliche Kündigungsfrist, evtl. kostenloses 3-monatiges Testen

Zugang zum Filesystem, weil man ja doch einige Optimierungen nur an den Dateien direkt vornehmen kann.

(bei Apache) mod_rewrite für schöne URLs

eher unwichtig

DNS-Einstellungen anpassen: braucht man in der Regel nicht – zum Weiterleiten auf Domain-Ebene.

Staging-Area: Für kleinere Nischenseiten eher unwichtig. Geht mal was kaputt, spielt man einfach wieder das Backup ein. Wenn die Seite mal eine halbe Stunde nicht erreichbar ist – was solls?

Angebote

t3n Anbieter-Vergleich

Preistreiber: Einrichtungsgebühr Webspace & Domain, monatliche Miete Webspace & Domain, Mindestlaufzeit, kostenloase Probezeit, Kündigungsfrist

WebGo (aktuell mein Favorit)

HostEurope

Strato

Hetzner (kein spezialisertes Angebot, trotzdem interessant)

netcup

Host Europe: Neue Domain beantragen und mit Plesk auf Virtuellem Server anlegen

Domain in Plesk anlegen

  1. Domains -> Create Domain -> anlegen mit default-Werten
  2. Websites&Domains -> DNS-Einstellungen
    1. den NS-Eintrag auf den generischen Hostnamen ändern (steht im KIS unter Produktverwaltung -> Virtual Server, bei mir ist das: wvps83-169-10-28.dedicated.hosteurope.de):
    2. Eintrag Hinzufügen: Neues NS-Record anlegen und mit dem Wert ns2.hans.hosteurope.de belegen
  3. WICHTIG: Aktualisieren

Domain bei Host Europe beantragen

Direktlink zur Domain-Registrierung

  1. Erster Schritt: hier gibt man seine Wunsch-Domain und seine Email-Adresse an.
  2. Zweiter Schritt:
    1. Damit man sich das Ausfüllen der vielen Personen-Formulare spart, klickt man „Ihre Kundendaten verwenden“. Diese sollte man jedoch vorher auf den aktuellsten Stand gebracht haben: Direktlink zu den Kontaktdaten.
    2. Nameserver-Eintrag auf der nächsten Seite korrigieren:
      1. Primary Nameserver: AUTO (!) Quelle
      2. Primary DNS Netadress: die IP des eigenen Servers (meine ist 83.169.10.28)
      3. Secondary Nameserver: AUTO (!)
  3. Dritter Schritt:
    1. „Ich bin damit einverstanden, dass die Host Europe GmbH bereits vor Ablauf der Widerrufsfrist mit der Ausführung des Vertrages beginnt.“ anhaken.
    2. „Zahlungspflichtig bestellen“ anklicken.
    3. Warten, bis man zur anderen Seite weitergeleitet wird.

Erfolgskontrollen

    • Es müssen innerhalb von 5 Minuten folgende zwei SUCCESS-Emails kommen – die jedoch noch nicht die erfolgreiche Domainkonnektierung bestätigen!

    • Die Domain-Konnektierung selbst dauert länger (laut offiziellen Angaben max. 48h):
      • Für meine .eu-domain hab ich keine 17 min warten müssen.
      • Für meine .de-domain hat es ca. 45 min gedauert.
    • Das Aufrufen der Domain (in Erwartung die default-index.html zu sehen) und ständiges Aktualisieren am Browser ist aufgrund des Caches kein zuverlässiger Erfolgs-Check. Dies funktioniert nur, wenn man vorher ein ipconfig –flushdns macht. Ein zuverlässiger Erfolgs-Check hingegen ist „nslookup projekt-fisch.de“
    • Bei Umlautdomains darf die Email so aussehen: xn--grlitz-leben-4ib.de

Troubleshooting

Wenn eine negative Mitteilung in der Domain-Queue von HostEurope erscheint, am besten den Auftrag hier löschen und nochmal richtig anlegen.

Hintergrundinfos

Leider vermisse ich seitens Host Europe eine durchgängige und einfache Anleitung für diese Standard-Aufgabe.

Die Domain muss in jedem Fall vorher in Plesk angelegt werden, weil sonst per Email solche Fehlermeldungen kommen:

 "- Bitte Primary Nameserver einrichten" usw.

Grundsätzlich müssen die Nameserver, die bei der Domainregistrierung angegeben und bei Plesk eingerichtet sind, übereinstimmen. Andernfalls kann der AutoDNS-Dienst von Host Europe keine Domainkonnektierung vornehmen.

Detaillierte Anleitung von Host Europe