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

XHTML-Tutorial: Der Unterschied zwischen Transitional und Strict

Tatsächlich ist XHTML 1.0 in zwei Typen unterteil...

Einfache Verwendung des Vue-Busses

Einfache Verwendung des Vue-Busses Beschreibung d...

Der HTML 5-Entwurf wurde kein formeller Standard

<br />Gestern habe ich beim W3C gesehen, das...

So implementieren Sie den Dienststatus zur Nginx-Konfigurationserkennung

1. Überprüfen Sie, ob das Modul „Status prüfen“ i...

So deklarieren Sie einen Cursor in MySQL

So deklarieren Sie einen Cursor in MySQL: 1. Vari...

Beispielcode des Vue-Symbolselektors

Quelle: http://www.ruoyi.vip/ Vue von „vue“ impor...

Zusammenfassung der MySQL-Slow-Log-Praxis

Langsame Protokollabfragefunktion Die Hauptfunkti...

Detailliertes Tutorial zur Konfiguration von Docker nginx + https-Subdomains

Heute habe ich zufällig einem Freund beim Umzug s...

Prinzip der MySQL-Paging-Analyse und Effizienzverbesserung

Prinzip der MySQL-Paging-Analyse und Effizienzver...

Beispielcode zur Implementierung einer QR-Code-Scanbox mit CSS

Normalerweise haben wir ein Scan-Feld, wenn wir d...