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.
Um Last auszugleichen, müssen Sie die aktuelle Auslastung verstehen, damit neue Anfragen an die Ressource geleitet werden, die am schnellsten antworten kann. Ein einfacher Lastausgleich schafft das nicht, weil er sich allein auf algorithmisch basierte Entscheidungen stützt und meist nur eine statische Gewichtung der verfügbaren Ressourcen berücksichtigt. Echtzeitentscheidungen brauchen Echtzeitinformationen über die gerade vorhandene Auslastung . Ohne das gleichen Sie nicht wirklich Last aus, sondern verteilen sie nur weiter.
Es zählt mehr als nur die Auswahl der Ressourcen, um die Leistung zu steigern und die Last zu verteilen. Sie können verschiedene Protokollverbesserungen einsetzen, die die Last senken, ohne die Verfügbarkeit einzuschränken – das ist entscheidend. Indem Sie TCP-Verbindungen multiplen und wiederverwenden, Verschlüsselung und Sicherheit auslagern sowie Komprimierungsaufgaben an vorgelagerte Dienste übertragen, entlasten Sie App- und Webdienste, gewinnen Serverressourcen und steigern spürbar die Leistung.
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 Load-Balancing-Dienst gleichzeitig bewältigen kann, desto weniger Instanzen brauchen Sie. So verringern Sie den Aufwand, eine weitere Ressourcenschicht zu verwalten, die ebenso viel Aufmerksamkeit nach Betriebsgrundsatz Nr. 2 erfordert wie jeder andere 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.