Skip to content

Commit edcc909

Browse files
committed
NFR Test Results for NGF version v2.3.0
1 parent 89aee48 commit edcc909

File tree

74 files changed

+1364
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1364
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: false
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 89aee48bf6e660a828ffd32ca35fc7f52e358e00
10+
- Date: 2025-12-12T20:04:38Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.33.5-gke.1308000
17+
- vCPUs per node: 16
18+
- RAM per node: 65851520Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Test1: Running latte path based routing
24+
25+
```text
26+
Requests [total, rate, throughput] 30000, 1000.03, 999.99
27+
Duration [total, attack, wait] 30s, 29.999s, 991.978µs
28+
Latencies [min, mean, 50, 90, 95, 99, max] 816.445µs, 1.069ms, 1.045ms, 1.166ms, 1.217ms, 1.385ms, 23.061ms
29+
Bytes In [total, mean] 4740000, 158.00
30+
Bytes Out [total, mean] 0, 0.00
31+
Success [ratio] 100.00%
32+
Status Codes [code:count] 200:30000
33+
Error Set:
34+
```
35+
36+
## Test2: Running coffee header based routing
37+
38+
```text
39+
Requests [total, rate, throughput] 30000, 1000.04, 1000.00
40+
Duration [total, attack, wait] 30s, 29.999s, 1.132ms
41+
Latencies [min, mean, 50, 90, 95, 99, max] 840.624µs, 1.096ms, 1.073ms, 1.204ms, 1.26ms, 1.44ms, 16.79ms
42+
Bytes In [total, mean] 4770000, 159.00
43+
Bytes Out [total, mean] 0, 0.00
44+
Success [ratio] 100.00%
45+
Status Codes [code:count] 200:30000
46+
Error Set:
47+
```
48+
49+
## Test3: Running coffee query based routing
50+
51+
```text
52+
Requests [total, rate, throughput] 30000, 1000.04, 1000.00
53+
Duration [total, attack, wait] 30s, 29.999s, 1.067ms
54+
Latencies [min, mean, 50, 90, 95, 99, max] 825.3µs, 1.095ms, 1.071ms, 1.201ms, 1.256ms, 1.444ms, 16.845ms
55+
Bytes In [total, mean] 5010000, 167.00
56+
Bytes Out [total, mean] 0, 0.00
57+
Success [ratio] 100.00%
58+
Status Codes [code:count] 200:30000
59+
Error Set:
60+
```
61+
62+
## Test4: Running tea GET method based routing
63+
64+
```text
65+
Requests [total, rate, throughput] 30000, 1000.02, 999.99
66+
Duration [total, attack, wait] 30s, 29.999s, 954.141µs
67+
Latencies [min, mean, 50, 90, 95, 99, max] 818.006µs, 1.079ms, 1.059ms, 1.187ms, 1.241ms, 1.411ms, 14.873ms
68+
Bytes In [total, mean] 4680000, 156.00
69+
Bytes Out [total, mean] 0, 0.00
70+
Success [ratio] 100.00%
71+
Status Codes [code:count] 200:30000
72+
Error Set:
73+
```
74+
75+
## Test5: Running tea POST method based routing
76+
77+
```text
78+
Requests [total, rate, throughput] 30000, 1000.03, 1000.00
79+
Duration [total, attack, wait] 30s, 29.999s, 992.607µs
80+
Latencies [min, mean, 50, 90, 95, 99, max] 808.16µs, 1.086ms, 1.064ms, 1.196ms, 1.248ms, 1.42ms, 17.019ms
81+
Bytes In [total, mean] 4680000, 156.00
82+
Bytes Out [total, mean] 0, 0.00
83+
Success [ratio] 100.00%
84+
Status Codes [code:count] 200:30000
85+
Error Set:
86+
```
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: true
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 89aee48bf6e660a828ffd32ca35fc7f52e358e00
10+
- Date: 2025-12-12T20:04:38Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.33.5-gke.1308000
17+
- vCPUs per node: 16
18+
- RAM per node: 65851520Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Test1: Running latte path based routing
24+
25+
```text
26+
Requests [total, rate, throughput] 30000, 1000.04, 1000.01
27+
Duration [total, attack, wait] 30s, 29.999s, 880.439µs
28+
Latencies [min, mean, 50, 90, 95, 99, max] 691.14µs, 886.932µs, 867.964µs, 976.348µs, 1.018ms, 1.153ms, 10.358ms
29+
Bytes In [total, mean] 4830000, 161.00
30+
Bytes Out [total, mean] 0, 0.00
31+
Success [ratio] 100.00%
32+
Status Codes [code:count] 200:30000
33+
Error Set:
34+
```
35+
36+
## Test2: Running coffee header based routing
37+
38+
```text
39+
Requests [total, rate, throughput] 30000, 1000.04, 1000.01
40+
Duration [total, attack, wait] 30s, 29.999s, 923.361µs
41+
Latencies [min, mean, 50, 90, 95, 99, max] 726.599µs, 948.386µs, 919.848µs, 1.025ms, 1.07ms, 1.262ms, 22.38ms
42+
Bytes In [total, mean] 4860000, 162.00
43+
Bytes Out [total, mean] 0, 0.00
44+
Success [ratio] 100.00%
45+
Status Codes [code:count] 200:30000
46+
Error Set:
47+
```
48+
49+
## Test3: Running coffee query based routing
50+
51+
```text
52+
Requests [total, rate, throughput] 30000, 1000.04, 1000.01
53+
Duration [total, attack, wait] 30s, 29.999s, 980.118µs
54+
Latencies [min, mean, 50, 90, 95, 99, max] 741.198µs, 949.099µs, 920.511µs, 1.025ms, 1.067ms, 1.241ms, 19.154ms
55+
Bytes In [total, mean] 5100000, 170.00
56+
Bytes Out [total, mean] 0, 0.00
57+
Success [ratio] 100.00%
58+
Status Codes [code:count] 200:30000
59+
Error Set:
60+
```
61+
62+
## Test4: Running tea GET method based routing
63+
64+
```text
65+
Requests [total, rate, throughput] 30000, 1000.01, 999.98
66+
Duration [total, attack, wait] 30.001s, 30s, 997.667µs
67+
Latencies [min, mean, 50, 90, 95, 99, max] 716.164µs, 903.954µs, 881.394µs, 978.714µs, 1.019ms, 1.192ms, 21.825ms
68+
Bytes In [total, mean] 4770000, 159.00
69+
Bytes Out [total, mean] 0, 0.00
70+
Success [ratio] 100.00%
71+
Status Codes [code:count] 200:30000
72+
Error Set:
73+
```
74+
75+
## Test5: Running tea POST method based routing
76+
77+
```text
78+
Requests [total, rate, throughput] 30000, 1000.01, 999.97
79+
Duration [total, attack, wait] 30.001s, 30s, 919.688µs
80+
Latencies [min, mean, 50, 90, 95, 99, max] 708.879µs, 925.517µs, 903.767µs, 1.012ms, 1.054ms, 1.21ms, 22.009ms
81+
Bytes In [total, mean] 4770000, 159.00
82+
Bytes Out [total, mean] 0, 0.00
83+
Success [ratio] 100.00%
84+
Status Codes [code:count] 200:30000
85+
Error Set:
86+
```
9.45 KB
Loading
9.45 KB
Loading
9.45 KB
Loading
9.45 KB
Loading
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: false
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 89aee48bf6e660a828ffd32ca35fc7f52e358e00
10+
- Date: 2025-12-12T20:04:38Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.33.5-gke.1308000
17+
- vCPUs per node: 16
18+
- RAM per node: 65851520Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Test: Send https /tea traffic
24+
25+
```text
26+
Requests [total, rate, throughput] 6000, 100.01, 99.69
27+
Duration [total, attack, wait] 59.993s, 59.992s, 1.424ms
28+
Latencies [min, mean, 50, 90, 95, 99, max] 513.564µs, 281.334ms, 1.334ms, 147.299ms, 2.817s, 5.097s, 5.652s
29+
Bytes In [total, mean] 915093, 152.52
30+
Bytes Out [total, mean] 0, 0.00
31+
Success [ratio] 99.68%
32+
Status Codes [code:count] 0:19 200:5981
33+
Error Set:
34+
Get "https://cafe.example.com/tea": dial tcp 0.0.0.0:0->10.138.0.126:443: connect: connection refused
35+
```
36+
37+
![https-oss.png](https-oss.png)
38+
39+
## Test: Send http /coffee traffic
40+
41+
```text
42+
Requests [total, rate, throughput] 6000, 100.01, 99.69
43+
Duration [total, attack, wait] 59.993s, 59.992s, 1.33ms
44+
Latencies [min, mean, 50, 90, 95, 99, max] 671.146µs, 273.786ms, 1.334ms, 47.986ms, 2.714s, 5.05s, 5.616s
45+
Bytes In [total, mean] 952904, 158.82
46+
Bytes Out [total, mean] 0, 0.00
47+
Success [ratio] 99.68%
48+
Status Codes [code:count] 0:19 200:5981
49+
Error Set:
50+
Get "http://cafe.example.com/coffee": dial tcp 0.0.0.0:0->10.138.0.126:80: connect: connection refused
51+
```
52+
53+
![http-oss.png](http-oss.png)
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: true
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 89aee48bf6e660a828ffd32ca35fc7f52e358e00
10+
- Date: 2025-12-12T20:04:38Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.33.5-gke.1308000
17+
- vCPUs per node: 16
18+
- RAM per node: 65851520Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Test: Send http /coffee traffic
24+
25+
```text
26+
Requests [total, rate, throughput] 6000, 100.01, 99.72
27+
Duration [total, attack, wait] 59.996s, 59.993s, 2.907ms
28+
Latencies [min, mean, 50, 90, 95, 99, max] 437.91µs, 772.34ms, 1.2ms, 3.677s, 6.591s, 8.884s, 9.443s
29+
Bytes In [total, mean] 959287, 159.88
30+
Bytes Out [total, mean] 0, 0.00
31+
Success [ratio] 99.72%
32+
Status Codes [code:count] 0:17 200:5983
33+
Error Set:
34+
Get "http://cafe.example.com/coffee": read tcp 10.138.0.120:59295->10.138.0.123:80: read: connection reset by peer
35+
Get "http://cafe.example.com/coffee": read tcp 10.138.0.120:37351->10.138.0.123:80: read: connection reset by peer
36+
Get "http://cafe.example.com/coffee": read tcp 10.138.0.120:54213->10.138.0.123:80: read: connection reset by peer
37+
Get "http://cafe.example.com/coffee": dial tcp 0.0.0.0:0->10.138.0.123:80: connect: connection refused
38+
```
39+
40+
![http-plus.png](http-plus.png)
41+
42+
## Test: Send https /tea traffic
43+
44+
```text
45+
Requests [total, rate, throughput] 6000, 100.01, 99.72
46+
Duration [total, attack, wait] 59.996s, 59.993s, 2.941ms
47+
Latencies [min, mean, 50, 90, 95, 99, max] 486.152µs, 772.69ms, 1.261ms, 3.642s, 6.543s, 8.883s, 9.441s
48+
Bytes In [total, mean] 921382, 153.56
49+
Bytes Out [total, mean] 0, 0.00
50+
Success [ratio] 99.72%
51+
Status Codes [code:count] 0:17 200:5983
52+
Error Set:
53+
Get "https://cafe.example.com/tea": read tcp 10.138.0.120:55317->10.138.0.123:443: read: connection reset by peer
54+
Get "https://cafe.example.com/tea": read tcp 10.138.0.120:43625->10.138.0.123:443: read: connection reset by peer
55+
Get "https://cafe.example.com/tea": write tcp 10.138.0.120:49103->10.138.0.123:443: write: connection reset by peer
56+
Get "https://cafe.example.com/tea": dial tcp 0.0.0.0:0->10.138.0.123:443: connect: connection refused
57+
```
58+
59+
![https-plus.png](https-plus.png)
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: false
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 89aee48bf6e660a828ffd32ca35fc7f52e358e00
10+
- Date: 2025-12-12T20:04:38Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.33.5-gke.1308000
17+
- vCPUs per node: 16
18+
- RAM per node: 65851520Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Test 1: Resources exist before startup - NumResources 30
24+
25+
### Time to Ready
26+
27+
Time To Ready Description: From when NGF starts to when the NGINX configuration is fully configured
28+
- TimeToReadyTotal: 12s
29+
30+
### Event Batch Processing
31+
32+
- Event Batch Total: 43
33+
- Event Batch Processing Average Time: 0ms
34+
- Event Batch Processing distribution:
35+
- 500.0ms: 43
36+
- 1000.0ms: 43
37+
- 5000.0ms: 43
38+
- 10000.0ms: 43
39+
- 30000.0ms: 43
40+
- +Infms: 43
41+
42+
### NGINX Error Logs
43+
44+
## Test 1: Resources exist before startup - NumResources 150
45+
46+
### Time to Ready
47+
48+
Time To Ready Description: From when NGF starts to when the NGINX configuration is fully configured
49+
- TimeToReadyTotal: 30s
50+
51+
### Event Batch Processing
52+
53+
- Event Batch Total: 56
54+
- Event Batch Processing Average Time: 1ms
55+
- Event Batch Processing distribution:
56+
- 500.0ms: 56
57+
- 1000.0ms: 56
58+
- 5000.0ms: 56
59+
- 10000.0ms: 56
60+
- 30000.0ms: 56
61+
- +Infms: 56
62+
63+
### NGINX Error Logs
64+
65+
## Test 2: Start NGF, deploy Gateway, wait until NGINX agent instance connects to NGF, create many resources attached to GW - NumResources 30
66+
67+
### Time to Ready
68+
69+
Time To Ready Description: From when NGINX receives the first configuration created by NGF to when the NGINX configuration is fully configured
70+
- TimeToReadyTotal: 24s
71+
72+
### Event Batch Processing
73+
74+
- Event Batch Total: 416
75+
- Event Batch Processing Average Time: 13ms
76+
- Event Batch Processing distribution:
77+
- 500.0ms: 414
78+
- 1000.0ms: 416
79+
- 5000.0ms: 416
80+
- 10000.0ms: 416
81+
- 30000.0ms: 416
82+
- +Infms: 416
83+
84+
### NGINX Error Logs
85+
86+
## Test 2: Start NGF, deploy Gateway, wait until NGINX agent instance connects to NGF, create many resources attached to GW - NumResources 150
87+
88+
### Time to Ready
89+
90+
Time To Ready Description: From when NGINX receives the first configuration created by NGF to when the NGINX configuration is fully configured
91+
- TimeToReadyTotal: 124s
92+
93+
### Event Batch Processing
94+
95+
- Event Batch Total: 1838
96+
- Event Batch Processing Average Time: 15ms
97+
- Event Batch Processing distribution:
98+
- 500.0ms: 1837
99+
- 1000.0ms: 1838
100+
- 5000.0ms: 1838
101+
- 10000.0ms: 1838
102+
- 30000.0ms: 1838
103+
- +Infms: 1838
104+
105+
### NGINX Error Logs

0 commit comments

Comments
 (0)