So bereiten Sie eine Site für das Lastwachstum vor



Nur der Faule holte sein Fachwissen nicht aus dem Regal und sagte das "Online" -Leben nicht voraus - so erzwungen wie das Regime der Selbstisolation. In der Tat hat der Verkehr bereits begonnen zu wachsen, und unter Berücksichtigung der „Feiertage“ sind Ressourcen, die Warenlieferungen, Online-Bildungsdienste und insbesondere Online-Unterhaltung anbieten, möglicherweise nicht vor Ende April für den Besucherstrom in der neuen Realität bereit.

Basierend auf unserer 12-jährigen Erfahrung im technischen Support von Webprojekten und in der Remote-Serververwaltung haben wir eine Art „Schulungshandbuch“ erstellt: Was ist eine Überprüfung wert und worauf müssen Sie achten, wenn Sie sicher sein möchten, dass Ihre Site mit einer Belastung fertig wird. Na ja, fast jeder.

Hier sind 10 Punkte, die für das aktive Leben Ihres Webprojekts in den kommenden Tagen und Wochen von entscheidender Bedeutung sind:

1) Überwachen Sie Ihre Infrastruktur

Zunächst sollten Sie wissen, was mit Ihrer Site los ist. Wenn Sie wissen, wie man mit Prometheus / Grafana umgeht, verwenden Sie sie. Wenn es jedoch keine Erfahrung mit der Interaktion mit ihnen gibt, ist dies kein Problem: Sie können jeden Dienst wie Datadog verwenden - Sie können ihn so schnell wie möglich installieren. Immer noch kompliziert? - Achten Sie auf Pingdom oder Site24x7: Dies sind keine vollwertigen Überwachungsdienste, aber sie sind zumindest geeignet, um sicherzustellen, dass Ihre Site zugänglich ist, und um zu wissen, wann sie kurz vor dem Fall steht.

Denken Sie daran: Sie können nur steuern, was Sie messen können. Wenn Sie nicht wissen, was in Ihrem System vor sich geht und wo es gerade passiert, können Sie es schließlich nicht beheben, wenn dort etwas kaputt geht.

Es gibt viele Möglichkeiten, was schief gehen könnte, wenn sich der Verkehr häuft:

  • .
  • .
  • \.
  • \\.

2) Machen Sie sich bereit für die Skalierung.

Sobald Sie feststellen, dass Sie 80% des Ressourcenlimits erreicht haben, müssen Sie sofort mit der Skalierung beginnen. Denn wenn Sie 100% warten, wird die Website fallen. Und Sie werden einige Zeit brauchen, um das Projekt wiederherzustellen. Ganz zu schweigen davon, dass alles ziemlich nervös ist ...

Sie müssen schnell handeln, da Sie sonst Besucher verlieren und möglicherweise noch mehr Fehler im Modus "Koch, alles ist verloren, brennen" machen. Wenn Sie die 80% -Marke des Ressourcenlimits erreichen, skalieren Sie daher auf 40%.
Bei Bedarf wiederholen (c)

3) Vergessen Sie nicht, die Festplattenleistung und die Kanalbandbreite zu überwachen

Es ist viel schwieriger zu verstehen, was passiert, wenn das System aufgrund hoher Festplattenlast oder Bandbreitenbeschränkungen „dumm“ ist.

4) Überwachen Sie die Leistung Ihrer Datenbanken,

insbesondere wenn Sie Cloud-Datenbanken verwenden. RDS, Cloud SQL, MongoDB Atlas und andere Dienste werden mithilfe von Cloud-Technologien verwaltet, haben jedoch ihre eigenen Grenzen und müssen überwacht werden, um eine zeitliche Skalierung zu erreichen.

5) Wenn Ihre Datenbank die CPU stark belastet - überprüfen Sie die Verwendung von Indizes, es hilft wirklich

Die Einführung der Indizierung reduziert die Belastung des Prozessors auf fantastische Weise. Angenommen, Ihre Datenbank-CPU ist zu 90% ausgelastet. Sie werden wahrscheinlich halbieren wollen, um die doppelte Last zu bewältigen. Wenn die meisten Ihrer Abfragen jedoch nicht indiziert sind, kann die Einführung der Indizierung die CPU-Auslastung um das Zehnfache reduzieren. Die Analyse der Verwendung von Indizes lohnt sich!

6) Behalten Sie die Konten für die Dienste von Cloud-Anbietern im Auge

Es ist leicht, es zu vergessen, wenn Sie Zeitprobleme haben. Stellen Sie daher Warnungen in Ihrem Abrechnungssystem ein, um Benachrichtigungen über mögliche Kostenüberschreitungen zu erhalten. Die Kanalbreite ist besonders kostspielig. Wenn es nicht möglich ist, Inhalte an CDN oder an Hosting-Unternehmen zu übertragen, die kostengünstig große Datenmengen bereitstellen, wie z. B. 100tb.com oder leaseweb, sollten Sie sich auf ernsthafte Kosten einstellen.

7) Vermeiden Sie den Status in Ihrer Anwendung

Trotz der Tatsache, dass es möglich ist, die Ressourcen des Prozessors oder des Arbeitsspeichers in der Cloud zu skalieren, gibt es immer noch Grenzen, die nicht überschritten werden können. Wenn Sie unter diesem Gesichtspunkt horizontal skalieren und neue Instanzen derselben Anwendung hinzufügen möchten, sollte diese für eine solche Entwicklung von Ereignissen bereit sein. Wenn Sie mehrere Instanzen derselben Anwendung haben, werden Benutzeranforderungen auf mehrere Server verteilt, sodass Sie keine Daten auf einer lokalen Festplatte speichern können.

8) Ziehen Sie in Betracht, in die Cloud zu wechseln, wenn sich die Site auf einem dedizierten Hosting befindet

In dieser Situation können Sie nicht einfach skalieren: Das Hinzufügen von Servern dauert eine gewisse Zeit - es dauert einige Stunden bis einige Tage, bis neue Server verfügbar sind. Außerdem zahlen Sie normalerweise monatlich und nicht stündlich. Im Allgemeinen möchten Sie offensichtlich nicht Stunden oder sogar Tage warten, wenn Ihre Site "lügt". Es ist viel einfacher, in der Cloud zu skalieren.

9) Infrastruktur "straffen"

Es gibt einige grundlegende Dinge, die standardmäßig deaktiviert sind und die optimiert werden sollten - auf der Ebene des Betriebssystems, des Netzwerks, des Anwendungsmanagers und der Anwendung selbst. Dies kann den Ressourcenverbrauch erheblich reduzieren. Google Ihr Technologie-Stack-Setup und befolgen Sie die grundlegenden Richtlinien.

10) Machen Sie sich bereit, um die zwischengespeicherte Version zu starten

Trotz all Ihrer Bemühungen werden Sie sich mit einer hundertfachen Zunahme des Verkehrs "hinlegen". Das Skalieren braucht Zeit. Machen Sie sich bereit für die Verwendung der statisch zwischengespeicherten Version. Hierfür ist der Cloudfront / Cloudflare-Cache, Ihr CDN-Cache, Nginx-Cache oder ein anderer nützlich. Stellen Sie einfach sicher, dass Sie die Gelegenheit haben, wenn Sie es brauchen.

All Articles