Node+Express test server performance

Node+Express test server performance

1 Test Environment

1.1 Server Hardware

The host to be tested is AWS cloud server. Two tests are selected

1.1.1 t2.micro

t2.micro is an EC2 with breakthrough performance, which is the server in AWS global free package. The configuration is as follows:

t2.micro is an EC2 with breakthrough performance, which is the server in AWS global free package. The configuration is as follows:

model vCPU ECU Memory storage Network performance Price (hour)
t2.micro 1 variable 1 EBS only Low to medium 0.0945

Single core 1G, CPU performance is 0.45ECU, and can reach 2ECU when performance is improved. The network performance is said to be 20Mbps~100Mbps

PS: EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) is equivalent to the computing power of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon CPU.

1.1.2 c5.large

Then we selected a c5.large for evaluation.

model vCPU ECU Memory storage Network performance price
c5.large 2 9 4 EBS only Up to 10Gb 0.493

Dual-core 4G, performance can reach 9ECU

1.1.3 Press

The press machine is another c5.large in the same availability zone.

1.2 Testing Tools

1.2.1 Test terminal

The ab tool is mainly used for testing. The ab tool can run up to 200 million concurrently, which is sufficient for single-machine testing.

For the use of ab tools, please refer to another blog: https://www.jb51.net/article/231502.htm

1.2.2 Server Monitoring

The server-side monitoring mainly uses the AWS backend cloudwatch service, and the CPU and memory usage are checked in the top tool.

For the use of top command, please refer to another blog:

1.3 Test Method

Add a test route directly in the express framework app.js and return res.end() directly.

2 Test Data

2.1 c5.large

We can see from the figure that when the concurrency is 2000, the average response time is 874.725ms, and the QPS is around 2286.43. On a 2-core 4G server with more than 300/month, the performance of the express framework itself is not bad.

2.2 t2.micro

We can see from the figure that when the concurrency is 300, the average response time is 189.191ms, the QPS is around 1585.7, and the performance of T2 at 70 blocks/month is quite good. However, it can also be seen from the figure that after the concurrency reaches 1000, the overall performance is not very stable.

3 Related Documents

Blog on estimating the concurrent volume of IoT devices:

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

Stress testing tool ab:

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

Indicators and methods of stress testing:

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

The above is the editor's introduction to using node+Express to test server performance. I hope it will be helpful to everyone. I would also like to thank everyone for their support of the 123WORDPRESS.COM website!

You may also be interested in:
  • Summary of commonly used performance test scripts for VPS servers
  • How to write a Go program to perform performance testing on the Nginx server

<<:  Example code for implementing page floating box based on JS

>>:  Solution to the problem that the div width is set to width:100% and then the padding or margin exceeds the parent element

Recommend

Introduction to HTML Chinese Character Encoding Standard

In HTML, you need to specify the encoding used by...

Use of Linux ifconfig command

1. Command Introduction The ifconfig (configure a...

Div exceeds hidden text and hides the CSS code beyond the div part

Before hiding: After hiding: CSS: Copy code The co...

Detailed explanation of new relational database features in MySQL 8.0

Preface The latest version of MySQL 8.0 is 8.0.4 ...

An example of how to implement an adaptive square using CSS

The traditional method is to write a square in a ...

CSS modular solution

There are probably as many modular solutions for ...

MySQL database transaction example tutorial

Table of contents 1. What is a transaction? 2. Th...

Docker volumes file mapping method

background When working on the blockchain log mod...

Example of how to set automatic creation time and modification time in mysql

This article describes how to set the automatic c...

Nginx tp3.2.3 404 problem solution

Recently I changed Apache to nginx. When I moved ...

Detailed use cases of vue3 teleport

Official Website https://cli.vuejs.org/en/guide/ ...

Vue achieves seamless carousel effect (marquee)

This article example shares the specific code of ...