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

Vue implementiert dynamische Routingdetails

Inhaltsverzeichnis 1. Frontend-Steuerung 1. In de...

Implementierungscode des JQuery-Schrittfortschrittsachsen-Plug-Ins

Jeden Tag ein jQuery-Plugin - Schritt-Fortschritt...

JavaScript, um einen Lotterieeffekt zu erzielen

In diesem Artikel wird der spezifische JavaScript...

Ein Artikel zum Verständnis der Verwendung von Proxys in JavaScript

Inhaltsverzeichnis Was ist ein Agent Grundkenntni...

So fragen Sie Bilder in einem privaten Register ab oder erhalten sie

Docker fragt Bilder in einem privaten Register ab...

So betreiben Sie eine MySQL-Datenbank mit dem ORM-Modell-Framework

Was ist ORM? ORM steht für Object Relational Mapp...

jQuery realisiert die volle Funktion des Einkaufswagens

In diesem Artikel wird der spezifische Code von j...

So verwenden Sie mysqldump zum Sichern von MySQL-Daten

1. Einführung in mysqldump mysqldump ist ein logi...

JS erhält Fünf-Sterne-Lob

In diesem Artikel wird der spezifische Code von J...

6 Vererbungsmethoden von JS Advanced ES6

Inhaltsverzeichnis 1. Vererbung der Prototypkette...

Vue implementiert Countdown-Funktion

In diesem Artikelbeispiel wird der spezifische Co...