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

Logrotate implementiert alle zwei Stunden die Catalina.out-Protokollrotation

1. Einführung in das Logrotate-Tool Logrotate ist...

Navicat für MySQL 11 Registrierungscode\Aktivierungscode-Zusammenfassung

Lesetipp: Navicat12.1 Serie Cracking und Aktivier...

Drei Möglichkeiten zum Erstellen eines Graueffekts auf Website-Bildern

Ich habe schon immer Graustufenbilder bevorzugt, d...

Schritte und Fallstricke beim Upgrade von Linux MySQL 5.5 auf MySQL 5.7

Inhaltsverzeichnis Linux MySQL 5.5 auf MySQL 5.7 ...

Zusammenfassung der Grundsätze zum Schreiben von HTML-Seiten für E-Mails

Da HTML-E-Mail keine unabhängige HOST-Seite auf di...

So verwenden Sie Standardwerte für Variablen in SASS

Bei in SASS definierten Variablen überschreibt de...

Mehrere Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx

Ich habe 3 Methoden zusammengefasst, um mehrere F...

Einführung in die Linux-Dateikomprimierung und -Verpackung

1. Einführung in Komprimierung und Verpackung All...

Implementierung der MySQL-Benutzerrechteverwaltung

1. Einführung in MySQL-Berechtigungen Es gibt 4 T...

HTML-Formular und die Verwendung interner Formular-Tags

Code kopieren Der Code lautet wie folgt: <html...

Löschen Sie den Image-Vorgang von „none“ in Docker-Images

Da ich normalerweise den Befehl „Docker Build“ ve...