Leistung des Node+Express-Testservers

Leistung des Node+Express-Testservers

1 Testumgebung

1.1 Server-Hardware

Der zu testende Host ist ein AWS-Cloud-Server. Zwei Tests werden ausgewählt

1.1.1 t2.micro

t2.micro ist ein EC2 mit bahnbrechender Leistung, der Server im globalen kostenlosen AWS-Paket. Die Konfiguration ist wie folgt:

t2.micro ist ein EC2 mit bahnbrechender Leistung, der Server im globalen kostenlosen AWS-Paket. Die Konfiguration ist wie folgt:

Modell vCPU ECU Erinnerung Lagerung Netzwerkleistung Preis (Stunde)
t2.micro 1 Variable 1 Nur EBS Niedrig bis mittel 0,0945

Single-Core 1G, CPU-Leistung beträgt 0,45 ECU und kann bei Leistungsverbesserung 2 ECU erreichen. Die Netzwerkleistung soll 20 Mbit/s bis 100 Mbit/s betragen

PS: EC2 Compute Unit (ECU) – Eine EC2 Compute Unit (ECU) entspricht der Rechenleistung einer 1,0–1,2 GHz 2007 Opteron- oder 2007 Xeon-CPU.

1.1.2 c5.groß

Dann haben wir ein c5.large zur Evaluierung ausgewählt.

Modell vCPU ECU Erinnerung Lagerung Netzwerkleistung Preis
c5.groß 2 9 4 Nur EBS Bis zu 10 GB 0,493

Dual-Core 4G, Leistung kann 9ECU erreichen

1.1.3 Presse

Bei der Pressmaschine handelt es sich um eine weitere c5.large in der gleichen Verfügbarkeitszone.

1.2 Testwerkzeuge

1.2.1 Prüfterminal

Das AB-Tool wird hauptsächlich zum Testen verwendet. Das AB-Tool kann bis zu 200 Millionen gleichzeitig ausführen, was für Tests einzelner Maschinen ausreichend ist.

Informationen zur Verwendung von AB-Tools finden Sie in einem anderen Blog: https://www.jb51.net/article/231502.htm

1.2.2 Serverüberwachung

Für die serverseitige Überwachung wird hauptsächlich der AWS-Backend-Dienst Cloudwatch verwendet, die CPU- und Speicherauslastung wird im Top-Tool überprüft.

Informationen zur Verwendung des Top-Befehls finden Sie in einem anderen Blog:

1.3 Testmethode

Fügen Sie eine Testroute direkt im Express-Framework app.js hinzu und geben Sie res.end() direkt zurück.

2 Testdaten

2.1 c5.groß

Aus der Abbildung können wir ersehen, dass bei einer Parallelität von 2000 die durchschnittliche Antwortzeit 874,725 ms beträgt und die QPS bei etwa 2286,43 liegt. Auf einem 2-Core-4G-Server mit mehr als 300/Monat ist die Leistung des Express-Frameworks selbst nicht schlecht.

2.2 t2.mikro

Aus der Abbildung können wir ersehen, dass bei einer Parallelität von 300 die durchschnittliche Antwortzeit 189,191 ms beträgt, die QPS bei etwa 1585,7 liegt und die Leistung von T2 bei 70 Blöcken/Monat recht gut ist. Aus der Abbildung ist jedoch auch ersichtlich, dass die Gesamtleistung nach Erreichen von 1000 Parallelität nicht sehr stabil ist.

3 Zugehörige Dokumente

Blog zur Schätzung der gleichzeitigen Anzahl von IoT-Geräten:

https://www.jb51.net/article/231516.htm

Stresstest-Tool ab:

https://www.jb51.net/article/231502.htm

Indikatoren und Methoden des Stresstests:

https://www.jb51.net/article/231518.htm

Das Obige ist die Einführung des Herausgebers in die Verwendung von node+Express zum Testen der Serverleistung. Ich hoffe, es wird für alle hilfreich sein. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Zusammenfassung häufig verwendeter Leistungstestskripte für VPS-Server
  • So schreiben Sie ein Go-Programm zum Durchführen von Leistungstests auf dem Nginx-Server

<<:  Beispielcode zur Implementierung einer schwebenden Seitenbox basierend auf JS

>>:  Lösung für das Problem, dass die Div-Breite auf width:100% eingestellt ist und dann die Polsterung oder der Rand das übergeordnete Element überschreitet

Artikel empfehlen

So verwenden Sie & und nohup im Hintergrund von Linux

Wenn wir in einem Terminal oder einer Konsole arb...

Lösungen zur Verarbeitung und Reparatur historischer Linux-Images

Der ECS-Cloud-Server, der mit dem historischen Li...

Lassen Sie uns über Destrukturierung in JS ES6 sprechen

Überblick es6 fügt eine neue Möglichkeit hinzu, b...

Verwendung der MySQL-Zeitdifferenzfunktionen TIMESTAMPDIFF und DATEDIFF

Verwendung der Zeitdifferenzfunktionen TIMESTAMPD...

Vue-Electron-Problemlösung bei Verwendung des seriellen Ports

Der Fehler lautet wie folgt: Nicht abgefangener T...

Detaillierte Erklärung der Verwendung von DECIMAL im MySQL-Datentyp

Detaillierte Erklärung der Verwendung von DECIMAL...

element-ui Markieren Sie die Koordinatenpunkte nach dem Hochladen des Bildes

Was ist Element-UI element-ui ist eine auf Vue.js...

So implementieren Sie das Singleton-Muster in Javascript

Inhaltsverzeichnis Überblick Code-Implementierung...

Detaillierte Erläuterung der JS ES6-Codierungsstandards

Inhaltsverzeichnis 1. Umfang des Blocks 1.1. let ...