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

JavaScript-Grundlagen: Geltungsbereich

Inhaltsverzeichnis Umfang Globaler Umfang Funktio...

Über Front-End JavaScript ES6 Details

Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...

So erkennen Sie die Dateisystemintegrität basierend auf AIDE in Linux

1. HILFE AIDE (Advanced Intrusion Detection Envir...

Das native VIDEO-Tag der HTML-Seite verbirgt die Download-Button-Funktion

Beim Schreiben eines Webprojekts stieß ich auf ei...

Einige Parameterbeschreibungen von Texteingabefeldern im Webdesign

In Gästebüchern, Foren und anderen Orten werden i...

Detaillierte Ansicht versteckter Spalten in MySQL

Inhaltsverzeichnis 1. Primärschlüssel vorhanden 2...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.16 winx64

Ich habe erst vor Kurzem angefangen, mich mit Dat...

Installieren Sie Ubuntu 18 ohne USB-Laufwerk unter Windows 10 mit EasyUEFI

1. BIOS überprüfen Überprüfen Sie zunächst, in we...

Beispielmethode zum Anzeigen der mit MySQL verbundenen IP-Adresse

Spezifische Methode: Öffnen Sie zuerst die Eingab...

Fünf Möglichkeiten zum automatischen Seitensprung in HTML

Im vorherigen Artikel haben wir drei gängige Meth...

Docker-Netzwerkmodus und Konfigurationsmethode

1. Docker-Netzwerkmodus Wenn Docker Run einen Doc...