Node.js Express HTTP Load Test

A Node.js Express server with a Node-based loadtest client for facilitating HTTP benchmarking.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark node-express-loadtest.

Project Site

github.com

Test Created

1 October 2018

Last Updated

4 January 2020

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

15 Seconds

Average Run Time

5 Minutes

Test Dependencies

Node.js + NPM

Accolades

20k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsNode.js Express HTTP Load Test Popularity Statisticspts/node-express-loadtest2018.102018.112018.122019.012019.022019.032019.042019.052019.062019.072019.082019.092019.102019.112019.122020.012020.022020.032020.042020.052020.062020.072020.082020.092020.102020.112020.122021.012021.022021.032021.042021.052021.062021.072021.082021.092021.107K14K21K28K35K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data current as of 21 October 2021.

Revision History

pts/node-express-loadtest-1.0.1   [View Source]   Sat, 04 Jan 2020 11:41:50 GMT
Override the timezone (TZ) to avoid parsing issue - https://github.com/phoronix-test-suite/test-profiles/issues/118

pts/node-express-loadtest-1.0.0   [View Source]   Mon, 01 Oct 2018 14:35:47 GMT
Initial commit of node-express-loadtest for Node.js HTTP client/server benchmark.

Suites Using This Test

Server

CPU Massive

Single-Threaded


Performance Metrics

Analyze Test Configuration:

Node.js Express HTTP Load Test

OpenBenchmarking.org metrics for this test profile configuration based on 3,631 public results since 1 October 2018 with the latest data as of 19 October 2021.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Requests Per Second (Average)
100th
6
11909 +/- 299
100th
6
11875 +/- 66
100th
3
11339 +/- 332
100th
21
11038 +/- 418
99th
3
10944 +/- 1124
99th
13
10698 +/- 551
98th
13
10438 +/- 526
98th
21
10427 +/- 1189
98th
8
10426 +/- 438
98th
41
10413 +/- 658
98th
16
10371 +/- 458
96th
13
9426 +/- 229
95th
17
9353 +/- 226
95th
8
9301 +/- 184
94th
14
8732 +/- 233
92nd
18
8157 +/- 371
91st
10
7967 +/- 147
91st
11
7931 +/- 284
91st
16
7864 +/- 359
91st
8
7778 +/- 185
90th
3
7749 +/- 49
90th
15
7747 +/- 178
90th
5
7666 +/- 838
89th
8
7402 +/- 130
88th
12
7143 +/- 173
87th
10
6634 +/- 141
86th
4
6529 +/- 133
86th
10
6438 +/- 182
85th
10
6065 +/- 136
85th
3
5721 +/- 146
85th
14
5679 +/- 334
84th
8
5543 +/- 70
84th
8
5484 +/- 288
83rd
15
5342 +/- 67
82nd
19
5260 +/- 346
80th
3
5092 +/- 450
79th
10
5038 +/- 99
Mid-Tier
75th
< 4961
58th
13
4447 +/- 245
57th
10
4317 +/- 290
56th
8
4071 +/- 43
55th
13
3758 +/- 215
54th
8
3570 +/- 142
54th
8
3320 +/- 124
53rd
12
2882 +/- 45
52nd
8
2655 +/- 83
52nd
8
2536 +/- 74
Median
50th
2351
2nd
11
970 +/- 124
OpenBenchmarking.orgDistribution Of Public Results3631 Results Range From 441 To 15770 Requests Per Second44174810551362166919762283259028973204351138184125443247395046535356605967627465816888719575027809811684238730903793449651995810265105721087911186114931180012107124141272113028133351364213949142561456314870151771548415791160320480640800

Based on OpenBenchmarking.org data, the selected test / test configuration (Node.js Express HTTP Load Test) has an average run-time of 6 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkRun-Time510152025Min: 1 / Avg: 5.92 / Max: 23

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 2.3%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsDeviation3691215Min: 0 / Avg: 2.25 / Max: 8

Does It Scale Well With Increasing Cores?

No, based on the automated analysis of the collected public benchmark data, this test / test settings does not generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

OpenBenchmarking.orgRelative Core Scaling To BaseNode.js Express HTTP Load Test CPU Core Scaling46812160.68491.36982.05472.73963.4245

Recent Test Results

OpenBenchmarking.org Results Compare

1 System - 160 Benchmark Results

AMD Ryzen 5 4600HS - ASUS GA401IH v1.0 - AMD Renoir Root Complex

ManjaroLinux 21.1.6 - 5.14.12-zen1-1-zen-g14 - KDE Plasma 5.22.5

1 System - 43 Benchmark Results

AMD EPYC 7551 32-Core - QEMU Standard PC - Intel 440FX 82441FX PMC

Ubuntu 20.04 - 5.11.0-1019-oracle - GNOME Shell 3.36.9

1 System - 167 Benchmark Results

ARMv8 Neoverse-N1 - QEMU KVM Virtual Machine - Red Hat QEMU PCIe

Ubuntu 20.04 - 5.11.0-1019-oracle - 1.0.2

1 System - 76 Benchmark Results

2 x Intel Xeon E5-2620 0 - ASUS Z9PE-D16 - Intel Xeon E5

Ubuntu 20.04 - 5.4.0-88-generic - GNOME Shell 3.36.9

8 Systems - 111 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Fedora Linux 35 - 5.14.7-300.fc35.x86_64 - GCC 11.2.1 20210728

7 Systems - 110 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

CentOS Stream 8 - 4.18.0-338.el8.x86_64 - GNOME Shell 3.32.2

6 Systems - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Debian 11 - 5.10.0-8-amd64 - 1.0.2

5 Systems - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Debian 11 - 5.10.0-8-amd64 - 1.0.2

4 Systems - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

CentOS Stream 8 - 4.18.0-338.el8.x86_64 - GNOME Shell 3.32.2

3 Systems - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

openSUSE Tumbleweed 20210929 - 5.14.6-1-default - KDE Plasma

2 Systems - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Ubuntu 21.10 - 5.13.0-16-generic - GNOME Shell 40.5

1 System - 186 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Fedora Linux 35 - 5.14.7-300.fc35.x86_64 - GCC 11.2.1 20210728

3 Systems - 180 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Fedora Linux 35 - 5.14.7-300.fc35.x86_64 - GCC 11.2.1 20210728

2 Systems - 31 Benchmark Results

Unknown - Apple Mac Mini Late 2020 - 8GB

Ubuntu 20.10 - 5.11.0-rc4+ - GNOME Shell 3.38.2

1 System - 213 Benchmark Results

2 x Intel Xeon Platinum 8380 - Intel M50CYP2SB2U - Intel Device 0998

Fedora 34 - 5.11.12-300.fc34.x86_64 - GCC 11.2.1 20210728

Most Popular Test Results

Find More Test Results