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

Grundlegende Implementierung der AOP-Programmierung in JavaScript

Einführung in AOP Die Hauptfunktion von AOP (Aspe...

So aktivieren Sie die JMX-Überwachung über Tomcat

Erstellen Sie eine Simulationsumgebung: Betriebss...

Verwendung des Linux-Befehls chkconfig

1. Befehlseinführung Der Befehl chkconfig wird zu...

MySQL-Abfrageoptimierung: Ursachen und Lösungen für langsame Abfragen

Freunde, die in der Entwicklung tätig sind, insbe...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

So erstellen Sie einen SSH-Dienst basierend auf einem Golang-Image in Docker

Nachfolgend finden Sie den Code zum Erstellen ein...

Grafisches Tutorial zur Installation und Konfiguration von mysql5.7.20 (Mac)

Grafisches Tutorial zur Installation und Konfigur...

So verwenden Sie den Yum-Befehl

1. Einführung in yum Yum (vollständiger Name Yell...

Detaillierte Erläuterung der Dateisystemformate der EXT-Serie in Linux

Linux-Dateisystem In der Abbildung oben sind herk...

Implementierungsbeispiel eines Videoplayers basierend auf Vue

Wenn der vorhandene Videoplayer die Anforderungen...

Beispiel für einen Fork- und Mutex-Lock-Prozess im Linux-Multithreading

Inhaltsverzeichnis Frage: 1. Erster Versuch 2. Ra...

37 Tipps für ein gutes User Interface Design (mit Bildern)

1. Versuchen Sie, ein einspaltiges statt eines meh...