Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

Vor Kurzem musste ich den Server erneut einem Stresstest unterziehen. Hier fasse ich die Schätzschemata und Schätzmethoden zusammen, die ich vor Kurzem gelernt habe. Die folgende Schätzmethode berücksichtigt keine Extremsituationen wie beispielsweise Blitzverkäufe.

Schätzung des Parallelitätswerts

1.1 Klassische Formel

Im Allgemeinen wird die folgende empirische Formel verwendet, um die durchschnittliche Anzahl gleichzeitiger Benutzer und Spitzendaten des Systems zu schätzen:

  • 1) Die durchschnittliche Anzahl gleichzeitiger Benutzer beträgt C = nL/T
  • 2) Maximale Anzahl gleichzeitiger Benutzer C' = C + 3*Quadratwurzel C

C ist die durchschnittliche Anzahl gleichzeitiger Benutzer, n ist die Anzahl der Anmeldesitzungen, L ist die durchschnittliche Länge einer Anmeldesitzung und T ist die zu beobachtende Zeitspanne.

C‘ ist die maximale Anzahl gleichzeitiger Benutzer

Wenn wir diese Formel verwenden, um die ungefähre Anzahl gleichzeitiger Benutzer einer Essensbestellungs-App mit 1 Million gleichzeitigen Benutzern zu berechnen, erhalten wir Folgendes:

Angenommen, eine App für Essenslieferungen hat 1 Million Benutzer und 12,5 % davon sind täglich aktive Benutzer, also 125.000 täglich aktive Benutzer. Die durchschnittliche Zeit vom Öffnen der App bis zur Essensbestellung beträgt für jeden täglich aktiven Benutzer etwa 5 Minuten. Nehmen wir an, dass die App von 8 bis 12 Uhr von Benutzern genutzt wird. Dann kann ein Wert berechnet werden:

Durchschnittliche Anzahl gleichzeitiger Benutzer C = 125000*5/16*60 = 651
Maximale Anzahl gleichzeitiger Benutzer C`=651+3*root 651=726

Die oben angegebene Anzahl gleichzeitiger Benutzer wurde mit der klassischen Formel berechnet. Sie kann jedoch von der tatsächlichen Situation abweichen.

Was Essensliefer-Apps betrifft, bestellen die meisten Leute ihr Essen während der Stoßzeiten, daher sollte diese Art von Essensliefer-App gesondert betrachtet werden.

Wir verwenden das 2/8-Prinzip, um die Anzahl gleichzeitiger Benutzer zu schätzen. Das heißt, 80 % der Benutzer bestellen während der Spitzenzeit Essen. Die Spitzenzeit ist auf 11-12 und 17-19 Uhr festgelegt, also insgesamt 5 Stunden. In diesem Fall wird die Anzahl gleichzeitiger Benutzer wie folgt geschätzt:

Durchschnittliche Anzahl gleichzeitiger Benutzer C = 125000 * 5 * 0,8 / 5 * 60 = 1666
Maximale Anzahl gleichzeitiger Benutzer C`=1666+3*Quadratwurzel von 1666=1788

1.2 Allgemeine Formel

Für die meisten Szenarien können Sie zur Schätzung der Parallelität (Gesamtzahl der Benutzer/statistische Zeit) * Impact Factor (normalerweise 3) verwenden.

Nehmen wir als Beispiel die U-Bahn: Jeden Tag gibt es 50.000 Passagiere. Die morgendliche Spitzenlast ist jeden Tag von 7 bis 9 Uhr und die abendliche Spitzenlast ist von 6 bis 7 Uhr. Nach dem 8/2-Prinzip fahren 80 % der Passagiere während der Spitzenlast mit der U-Bahn. Die Anzahl der Personen, die pro Sekunde am U-Bahn-Ticketschalter ankommen, beträgt 5000080 %/(36060) = 3,7, also etwa 4 Personen/Sekunde. Unter Berücksichtigung von Faktoren wie Sicherheitskontrollen und Eingangsschließungen muss die tatsächliche Anzahl der Personen, die sich am Ticketschalter ansammeln, größer sein. Unter der Annahme, dass jede Person 3 Sekunden braucht, um die Station zu betreten, sollte die tatsächliche Gleichzeitigkeit 4 Personen/Sekunde3Sekunde = 12 betragen. Natürlich kann der Einflussfaktor je nach tatsächlichen Bedingungen erhöht werden!

Daher können IoT-Geräte tatsächlich als Allzweckgeräte betrachtet werden.

In einem extremeren Fall sind 95 % der 1 Million Geräte täglich aktive Geräte, also 950.000. Und unter der Annahme, dass 80 % dieser Geräte innerhalb von 3 Stunden (Spitzenzeit) auf den Server zugreifen, lässt sich die Anzahl der gleichzeitig aktiven Geräte schätzen.

950000*0,8/(3*60*60)=70/s

Aufgrund der hohen Unsicherheit bei IoT-Geräten setzen wir den Impact Factor auf 5

.70*5=350 bedeutet, dass die Anzahl der aktiven Geräte 350 pro Sekunde beträgt.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Konzepte und Methoden für Server-Stresstests (TPS/Parallelität)
  • Formel und Berechnungsmethode zur Schätzung der Server-Parallelität

<<:  CSS-Animation kombiniert mit SVG zur Erzeugung eines Energieflusseffekts

>>:  Beispielcode zur Implementierung des Verlaufs-Tag-Menüs mit vue+elementui+vuex+sessionStorage

Artikel empfehlen

Zusammenfassung der Linux Logical Volume Management (LVM)-Nutzung

Die Verwaltung des Speicherplatzes ist für System...

8 Befehle zur effektiven Verwaltung von Prozessen in Linux

Vorwort Die Rolle des Prozessmanagements: Integri...

Bild-Tag für HTML-Webseite

Bild-Tag <IMG> einfügen Die farbenfrohen Web...

Eine gängige Technik zur Implementierung von Dreiecken mit CSS (mehrere Methoden)

In manchen Vorstellungsgesprächen werden häufig F...

JavaScript implementiert das Topfschlagen-Spiel von Gray Wolf

1. Projektdokumente 2. Verwenden Sie HTML und CSS...

Detaillierte Erklärung der Softwarekonfiguration mit Docker-Compose unter Linux

Vorwort In diesem Artikel werden einige Docker-Co...

Detaillierter Prozessbericht der Nginx-Installation und -Konfiguration

Inhaltsverzeichnis 1 Einführung in nginx 1 Was is...

Detaillierte Erklärung des Inline-Formats von HTML-Tabellen

Inline-Format <colgroup>…</colgroup> ...

So verwenden Sie VirtualBox zum Simulieren eines Linux-Clusters

1. Richten Sie HOST auf dem Host-Macbook ein Im v...

Einführung in verschiedene Möglichkeiten zur Einführung von CSS in HTML

Inhaltsverzeichnis 1. CSS-Stile direkt in HTML-Ta...

So verbergen Sie Elemente im Web und ihre Vor- und Nachteile

Beispiel-Quellcode: https://codepen.io/shadeed/pe...