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

So erstellen Sie Ihr eigenes Docker-Image und laden es auf Dockerhub hoch

1. Registrieren Sie zunächst Ihr eigenes Dockerhu...

JavaScript implementiert eine bidirektionale verknüpfte Listenprozessanalyse

Inhaltsverzeichnis 1. Was ist eine doppelt verknü...

So installieren Sie ElasticSearch auf Docker in einem Artikel

Inhaltsverzeichnis Vorwort 1. Docker installieren...

So verwenden Sie das Vue-Router-Routing

Inhaltsverzeichnis 1. Beschreibung 2. Installatio...

Detaillierte Erklärung zur Verwendung von Element-Plus in Vue3

Inhaltsverzeichnis 1. Installation 2. Importieren...

Einige Hinweise zur MySQL-Self-Join-Deduplizierung

Lassen Sie mich kurz das Funktionsszenario erklär...

Analyse des Sperrmechanismus der MySQL-Datenbank

Bei gleichzeitigen Zugriffen kann es zu nicht wie...

Bestimmte Vorgänge der geplanten MySQL-Löschung von Sicherungsdaten

1|0 Hintergrund Aufgrund von Projektanforderungen...

Methode zum Schreiben von bedingten Kommentaren und Beispielcode

Als Front-End-Ingenieure müssen wir mit dem IE ve...

Detaillierte Erläuterung der Verwendung des Linux-Befehls seq

01. Befehlsübersicht Der Befehl „seq“ wird verwen...

Lösen Sie das Problem des Syn Flooding in der MySQL-Datenbank

Der SYN-Angriff ist die häufigste und am leichtes...