Skip to content

Commit

Permalink
NFR Test Results for NGF version edge
Browse files Browse the repository at this point in the history
  • Loading branch information
nginx-bot committed Jul 17, 2024
1 parent e46d6fe commit aa54658
Show file tree
Hide file tree
Showing 428 changed files with 17,844 additions and 0 deletions.
123 changes: 123 additions & 0 deletions tests/results/results-oss/dp-perf/1.0.0/1.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Results

## Test environment

GKE cluster:

- Node count: 3
- Instance Type: e2-medium
- k8s version: 1.27.4-gke.900
- Zone: europe-west2-b
- Total vCPUs: 6
- Total RAM: 12GB
- Max pods per node: 110

Test VM:

- Instance Type: e2-medium
- Zone: europe-west2-b
- vCPUS: 2
- RAM: 4GB

NGF deployment:

- NGF version: edge - git commit a41e9e46d72788bceea8ba44e01d4062afec75fd
- NGINX Version: 1.25.2

## Test1: Running latte path based routing

```console
Running 30s test @ http://cafe.example.com/latte
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.29ms 7.85ms 182.06ms 88.67%
Req/Sec 1.11k 588.11 2.31k 59.83%
Latency Distribution
50% 3.44ms
75% 7.09ms
90% 15.33ms
99% 31.86ms
66017 requests in 30.02s, 23.42MB read
Requests/sec: 2199.43
Transfer/sec: 799.00KB
```

## Test2: Running coffee header based routing

```console
Running 30s test @ http://cafe.example.com/coffee
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 31.95ms 37.10ms 243.16ms 89.07%
Req/Sec 224.25 238.65 1.83k 90.32%
Latency Distribution
50% 14.31ms
75% 43.74ms
90% 76.70ms
99% 171.95ms
12913 requests in 30.03s, 4.59MB read
Requests/sec: 430.05
Transfer/sec: 156.65KB
```

## Test3: Running coffee query based routing

```console
Running 30s test @ http://cafe.example.com/coffee?TEST=v2
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 29.26ms 43.85ms 457.05ms 82.26%
Req/Sec 632.30 464.79 2.07k 60.43%
Latency Distribution
50% 4.45ms
75% 45.84ms
90% 103.14ms
99% 145.53ms
37324 requests in 30.02s, 13.56MB read
Requests/sec: 1243.13
Transfer/sec: 462.53KB
```

## Test4: Running tea GET method based routing

```console
Running 30s test @ http://cafe.example.com/tea
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 27.19ms 39.40ms 182.48ms 81.49%
Req/Sec 706.49 416.90 1.85k 65.42%
Latency Distribution
50% 4.06ms
75% 42.24ms
90% 99.21ms
99% 133.34ms
41265 requests in 30.04s, 14.56MB read
Requests/sec: 1373.59
Transfer/sec: 496.31KB
```

## Test5: Running tea POST method based routing

```console
Running 30s test @ http://cafe.example.com/tea
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 27.32ms 39.49ms 208.66ms 81.40%
Req/Sec 685.47 491.33 2.08k 58.43%
Latency Distribution
50% 4.19ms
75% 42.40ms
90% 99.38ms
99% 133.25ms
40723 requests in 30.03s, 14.37MB read
Requests/sec: 1356.10
Transfer/sec: 489.99KB
```

## Observations

- Path based routing is the most performant of the routing methods
- The njs based methods are less performant:
- Header based routing is the least performant of the routing methods, by a factor of roughly 5 compared to the path
based routing.
- The query and method based routing methods are approximately 2/3s as performant as the path based routing.
123 changes: 123 additions & 0 deletions tests/results/results-oss/dp-perf/1.1.0/1.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Results

## Test environment

GKE cluster:

- Node count: 3
- Instance Type: e2-medium
- k8s version: 1.27.3-gke.100
- Zone: europe-west2-b
- Total vCPUs: 6
- Total RAM: 12GB
- Max pods per node: 110

Test VM:

- Instance Type: e2-medium
- Zone: europe-west2-b
- vCPUS: 2
- RAM: 4GB

NGF deployment:

- NGF version: edge - git commit 21a2507d3d25ac0428384dce2c042799ed28b856
- NGINX Version: 1.25.3

## Summary

- Path based routing performance has decreased slightly since 1.0.0
- Header based routing performance has increased significantly since 1.0.0
- Query based routing performance has slightly increased since 1.0.0
- Method based routing on average between GET and POST based has remained roughly the same as v1.0.0, but in this run
the performance of the POST method was significantly less than that of the GET method

## Test1: Running latte path based routing

```console
Running 30s test @ http://cafe.example.com/latte
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.90ms 5.95ms 93.07ms 91.58%
Req/Sec 1.02k 229.69 1.92k 75.67%
Latency Distribution
50% 4.35ms
75% 6.50ms
90% 10.73ms
99% 32.50ms
60729 requests in 30.02s, 21.66MB read
Requests/sec: 2023.13
Transfer/sec: 738.91KB
```

## Test2: Running coffee header based routing

```console
Running 30s test @ http://cafe.example.com/coffee
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.83ms 7.92ms 136.86ms 93.66%
Req/Sec 0.89k 274.77 1.68k 68.00%
Latency Distribution
50% 4.98ms
75% 7.56ms
90% 11.89ms
99% 44.04ms
53421 requests in 30.01s, 19.10MB read
Requests/sec: 1779.97
Transfer/sec: 651.84KB
```

## Test3: Running coffee query based routing

```console
Running 30s test @ http://cafe.example.com/coffee?TEST=v2
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.84ms 7.76ms 129.66ms 93.62%
Req/Sec 0.88k 206.19 1.58k 77.67%
Latency Distribution
50% 4.83ms
75% 7.63ms
90% 11.87ms
99% 41.39ms
52846 requests in 30.01s, 19.30MB read
Requests/sec: 1760.75
Transfer/sec: 658.55KB
```

## Test4: Running tea GET method based routing

```console
Running 30s test @ http://cafe.example.com/tea
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 6.55ms 6.41ms 97.49ms 91.74%
Req/Sec 0.90k 190.25 1.64k 77.17%
Latency Distribution
50% 4.85ms
75% 7.55ms
90% 11.80ms
99% 35.33ms
53661 requests in 30.02s, 19.04MB read
Requests/sec: 1787.34
Transfer/sec: 649.30KB
```

## Test5: Running tea POST method based routing

```console
Running 30s test @ http://cafe.example.com/tea
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 31.45ms 43.10ms 408.63ms 81.26%
Req/Sec 458.81 332.92 1.73k 61.26%
Latency Distribution
50% 6.70ms
75% 51.43ms
90% 107.48ms
99% 146.54ms
26914 requests in 30.03s, 9.55MB read
Requests/sec: 896.12
Transfer/sec: 325.54KB
```
84 changes: 84 additions & 0 deletions tests/results/results-oss/dp-perf/1.2.0/1.2.0-plus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Results

## Test environment

NGINX Plus: true

GKE Cluster:

- Node count: 3
- k8s version: v1.27.8-gke.1067004
- vCPUs per node: 2
- RAM per node: 4022908Ki
- Max pods per node: 110
- Zone: us-east1-b
- Instance Type: e2-medium

## Summary

- First time running with NGINX Plus

## Test1: Running latte path based routing

```text
Requests [total, rate, throughput] 30000, 1000.03, 999.99
Duration [total, attack, wait] 30s, 29.999s, 1.23ms
Latencies [min, mean, 50, 90, 95, 99, max] 524.975µs, 1.946ms, 1.095ms, 2.042ms, 4.461ms, 23.134ms, 93.918ms
Bytes In [total, mean] 4800000, 160.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:30000
Error Set:
```

## Test2: Running coffee header based routing

```text
Requests [total, rate, throughput] 29999, 1000.01, 999.97
Duration [total, attack, wait] 30s, 29.999s, 1.021ms
Latencies [min, mean, 50, 90, 95, 99, max] 592.975µs, 2.927ms, 1.122ms, 2.833ms, 9.549ms, 44.935ms, 130.583ms
Bytes In [total, mean] 4829839, 161.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:29999
Error Set:
```

## Test3: Running coffee query based routing

```text
Requests [total, rate, throughput] 30000, 1000.02, 999.99
Duration [total, attack, wait] 30s, 29.999s, 803.929µs
Latencies [min, mean, 50, 90, 95, 99, max] 614.151µs, 2.326ms, 1.109ms, 2.504ms, 6.639ms, 30.947ms, 86.914ms
Bytes In [total, mean] 5070000, 169.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:30000
Error Set:
```

## Test4: Running tea GET method based routing

```text
Requests [total, rate, throughput] 30000, 1000.00, 999.97
Duration [total, attack, wait] 30.001s, 30s, 864.779µs
Latencies [min, mean, 50, 90, 95, 99, max] 579.858µs, 2.742ms, 1.064ms, 3.978ms, 9.655ms, 42.104ms, 118.446ms
Bytes In [total, mean] 4740000, 158.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:30000
Error Set:
```

## Test5: Running tea POST method based routing

```text
Requests [total, rate, throughput] 30000, 1000.03, 999.98
Duration [total, attack, wait] 30.001s, 29.999s, 1.595ms
Latencies [min, mean, 50, 90, 95, 99, max] 581.255µs, 1.612ms, 1.204ms, 1.914ms, 2.994ms, 11.802ms, 43.145ms
Bytes In [total, mean] 4740000, 158.00
Bytes Out [total, mean] 0, 0.00
Success [ratio] 100.00%
Status Codes [code:count] 200:30000
Error Set:
```
Loading

0 comments on commit aa54658

Please sign in to comment.