Reden wir Klartext. Oder Creme-Eier. Oder Schachteln mit Süßigkeiten. Was haben sie gemeinsam? Natürlich sind sie alle mit Feiertagen verbunden. Und wie es scheint, sind diese Feiertage der Hauptgrund für die Gewinne und die schlechte Leistung von Websites.
So hat etwa eine aktuelle Studie aus Großbritannien , „an der mehr als 100 Entscheidungsträger im E-Commerce teilnahmen“, ergeben, dass „mehr als die Hälfte (58 %) zugab, während der Spitzenzeit im letzten Jahr Probleme mit der Website-Geschwindigkeit gehabt zu haben“.
Heute wissen wir alle, dass die Leistung eine wichtige Rolle spielt und dass selbst Mikrosekunden Verzögerung zu Verlusten in Millionenhöhe führen können. Genug gesagt.
Die Frage ist, was können Sie dagegen tun?
Die Antwort liegt darin, sich an das Operationalaxiom Nr. 2 zu erinnern: Mit zunehmender Belastung nimmt die Leistung ab.
Dabei spielt es keine Rolle, ob der App-Server in der Cloud oder im Rechenzentrum, in einer virtuellen Maschine oder einem Container läuft. Dieses Axiom ist ein Axiom, weil es immer wahr ist. Egal was passiert. Je stärker Sie ein System belasten, desto langsamer läuft es. Zeitraum.
Der Schlüssel zu besserer Leistung liegt darin, die Notwendigkeit, die Kosten durch Maximierung der Auslastung niedrig zu halten, mit einer gleichzeitigen Optimierung der Leistung in Einklang zu bringen. In den meisten Fällen bedeutet das, dass Sie alle verfügbaren Tools nutzen müssen, um das Gleichgewicht wiederherzustellen, insbesondere in Spitzenzeiten (die eine große Belastung für die Systeme darstellen, egal wo sie sich befinden).
1. Gleichen Sie die Belastung aus
Aus diesem Grund sind ausreichend gute (rudimentäre) App-Dienste nicht ausreichend. Denn obwohl sie sich oft mühelos skalieren lassen, sorgen sie nicht unbedingt dafür, dass die Last tatsächlich auf die verfügbaren Ressourcen verteilt wird . Sie verfügen nicht unbedingt über die erforderliche Intelligenz, um Ressourcen auf Grundlage der Leistung oder der vorhandenen Auslastung auszuwählen. Ihr „bester Einsatz“ ist nicht viel mehr als blinder Zufall.
Zum Ausgleichen der Last ist es erforderlich, die vorhandene Last zu kennen, damit neue Anfragen an die Ressource weitergeleitet werden, die mit höchster Wahrscheinlichkeit und so schnell wie möglich reagieren kann. Dies kann mit einem einfachen Lastenausgleich nicht erreicht werden, da dieser sich ausschließlich auf algorithmische Entscheidungen konzentriert und selten mehr als die statische Gewichtung der verfügbaren Ressourcen berücksichtigt. Für Echtzeitentscheidungen sind Echtzeitinformationen über die aktuell vorhandene Belastung erforderlich. Andernfalls führen Sie keinen Lastausgleich , sondern eine Lastverteilung durch .
Es ist mehr als nur die Auswahl von Ressourcen, die zur Leistungssteigerung bei gleichzeitigem Lastausgleich beiträgt. Von entscheidender Bedeutung ist auch die Möglichkeit, eine Vielzahl von Protokollverbesserungsfunktionen einzusetzen, die die Belastung reduzieren, ohne die Verfügbarkeit zu beeinträchtigen. Durch Multiplexing und Wiederverwendung von TCP-Verbindungen, Auslagern von Verschlüsselung und Sicherheit sowie Neuzuweisung von Komprimierungsaufgaben an Upstream-Dienste werden App- und Webdienste entlastet, was Ressourcen freigibt und echte Auswirkungen auf die Leistung hat.
Server sollten ihren Dienst leisten, egal ob sie sich in der Cloud oder im Rechenzentrum befinden und in einem Container oder einer VM ausgeführt werden. Kryptografie und Komprimierung sind immer noch rechenintensive Funktionen, die von speziell für diese Aufgabe entwickelten Upstream-Diensten ausgeführt werden können.
Durch die Beseitigung zusätzlicher Hops im Anforderungs-Antwort-Pfad wird die Leistung ebenfalls verbessert. Ja, Sie können horizontal über Lastausgleichsdienste skalieren, aber dadurch wird eine weitere Entscheidungsebene (Routing) in die Gleichung eingefügt, deren Ausführung (welcher davon sollte diese Anforderung verarbeiten?) und Übertragungszeit (über das Netzwerk an diesen senden) Zeit in Anspruch nimmt. Das bedeutet weniger Zeit für den Web- oder App-Server, um seine Arbeit zu erledigen, und das ist eigentlich alles, was wir von Anfang an wollten. Bei normaler Belastung können die Unterschiede zwischen einem System, das eine Million Verbindungen verwaltet, und zehn Systemen, die jeweils einen Teil dieser Verbindungen verwalten, vernachlässigbar sein. Bis die Nachfrage die Belastung in die Höhe treibt und die betrieblichen Grundsätze auch dort greifen. Denn es ist nicht nur die Belastung des Web- oder App-Servers, die zu einer schlechten Leistung beiträgt, sondern die gesamte App-Lieferkette.
Je mehr Kapazität (Verbindungen) Ihr Lastausgleichsdienst gleichzeitig verarbeiten kann, desto weniger Instanzen benötigen Sie. Dadurch verringert sich der Verwaltungsaufwand einer weiteren Ressourcenebene, bei der das Betriebsaxiom Nr. 2 ebenso sorgfältig beachtet werden muss wie bei jedem anderen Dienst.
Für Einzelhändler bleibt die Leistung weiterhin ein erhebliches Thema und mit der rasch wachsenden digitalen Wirtschaft wird sie (sofern sie es nicht bereits ist) für alle mit einer digitalen Präsenz zu einem Problem. In der Hektik vor den Feiertagen ist die Toleranz der Leute gegenüber schlechter Leistung noch geringer. Was am Vortag gut genug war, ist es heute nicht mehr. Leistungsprobleme sind häufig nicht auf die Anwendung selbst zurückzuführen, sondern eher auf die Architektur und die Dienste, die für die Bereitstellung und Sicherung der Anwendung verwendet werden. Durch die Verwendung der richtigen Dienste mit den richtigen Funktionen können Unternehmen Leistungsproblemen bei hoher Belastung eher vorbeugen.
Gut genug ist gut genug, bis es das nicht mehr ist. Dann ist es zu spät, frustrierte Kunden zur Rückkehr zu überreden. Sie haben für das, was Sie ihnen verkaufen wollten, bereits einen anderen Anbieter gefunden.