Skip to content

Commit b9aac16

Browse files
bjee19nginx-bot
andauthored
(cherry-pick) NFR Test Results for NGF version 1.6.0 (#3013) (#3019)
Update with NFR test results for NGF version 1.6.0 ["oss","plus"] Co-authored-by: nginx-bot <[email protected]>
1 parent 1712d40 commit b9aac16

File tree

89 files changed

+1958
-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.

89 files changed

+1958
-0
lines changed
+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: false
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: b61c61d3f9ca29c6eb93ce9b44e652c9a521b3a4
10+
- Date: 2025-01-13T16:47:24Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.30.6-gke.1596000
17+
- vCPUs per node: 16
18+
- RAM per node: 65853984Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Summary:
24+
25+
- Performance stayed consistent with 1.5.0 results. Average latency slightly increased across all routing methods.
26+
- Errors that occurred are consistent with errors that occurred in the previous results.
27+
28+
## Test1: Running latte path based routing
29+
30+
```text
31+
Requests [total, rate, throughput] 30000, 1000.04, 998.38
32+
Duration [total, attack, wait] 30s, 29.999s, 844.157µs
33+
Latencies [min, mean, 50, 90, 95, 99, max] 309.6µs, 718.534µs, 681.308µs, 786.633µs, 827.114µs, 971.115µs, 18.386ms
34+
Bytes In [total, mean] 4741568, 158.05
35+
Bytes Out [total, mean] 0, 0.00
36+
Success [ratio] 99.84%
37+
Status Codes [code:count] 200:29951 503:49
38+
Error Set:
39+
503 Service Temporarily Unavailable
40+
```
41+
42+
## Test2: Running coffee header based routing
43+
44+
```text
45+
Requests [total, rate, throughput] 30000, 1000.01, 999.98
46+
Duration [total, attack, wait] 30.001s, 30s, 708.18µs
47+
Latencies [min, mean, 50, 90, 95, 99, max] 519.443µs, 728.205µs, 716.283µs, 820.709µs, 859.918µs, 962.843µs, 6.974ms
48+
Bytes In [total, mean] 4770000, 159.00
49+
Bytes Out [total, mean] 0, 0.00
50+
Success [ratio] 100.00%
51+
Status Codes [code:count] 200:30000
52+
Error Set:
53+
```
54+
55+
## Test3: Running coffee query based routing
56+
57+
```text
58+
Requests [total, rate, throughput] 30000, 1000.02, 1000.00
59+
Duration [total, attack, wait] 30s, 29.999s, 746.102µs
60+
Latencies [min, mean, 50, 90, 95, 99, max] 533.22µs, 735.075µs, 722.549µs, 830.432µs, 871.714µs, 973.911µs, 6.9ms
61+
Bytes In [total, mean] 5010000, 167.00
62+
Bytes Out [total, mean] 0, 0.00
63+
Success [ratio] 100.00%
64+
Status Codes [code:count] 200:30000
65+
Error Set:
66+
```
67+
68+
## Test4: Running tea GET method based routing
69+
70+
```text
71+
Requests [total, rate, throughput] 30000, 1000.02, 1000.00
72+
Duration [total, attack, wait] 30s, 29.999s, 737.741µs
73+
Latencies [min, mean, 50, 90, 95, 99, max] 528.445µs, 724.715µs, 711.435µs, 816.76µs, 859.214µs, 967.474µs, 11.985ms
74+
Bytes In [total, mean] 4680000, 156.00
75+
Bytes Out [total, mean] 0, 0.00
76+
Success [ratio] 100.00%
77+
Status Codes [code:count] 200:30000
78+
Error Set:
79+
```
80+
81+
## Test5: Running tea POST method based routing
82+
83+
```text
84+
Requests [total, rate, throughput] 30000, 1000.03, 1000.01
85+
Duration [total, attack, wait] 30s, 29.999s, 643.191µs
86+
Latencies [min, mean, 50, 90, 95, 99, max] 538.368µs, 728.96µs, 714.974µs, 818.991µs, 860.142µs, 971.866µs, 11.543ms
87+
Bytes In [total, mean] 4680000, 156.00
88+
Bytes Out [total, mean] 0, 0.00
89+
Success [ratio] 100.00%
90+
Status Codes [code:count] 200:30000
91+
Error Set:
92+
```
+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: true
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: b61c61d3f9ca29c6eb93ce9b44e652c9a521b3a4
10+
- Date: 2025-01-13T16:47:24Z
11+
- Dirty: false
12+
13+
GKE Cluster:
14+
15+
- Node count: 12
16+
- k8s version: v1.30.6-gke.1596000
17+
- vCPUs per node: 16
18+
- RAM per node: 65853984Ki
19+
- Max pods per node: 110
20+
- Zone: us-west1-b
21+
- Instance Type: n2d-standard-16
22+
23+
## Summary:
24+
25+
- Performance stayed consistent with 1.5.0 results. Average latency slightly increased across all routing methods.
26+
27+
## Test1: Running latte path based routing
28+
29+
```text
30+
Requests [total, rate, throughput] 30000, 1000.03, 1000.00
31+
Duration [total, attack, wait] 30s, 29.999s, 744.047µs
32+
Latencies [min, mean, 50, 90, 95, 99, max] 535.49µs, 722.768µs, 702.708µs, 807.78µs, 849.575µs, 981.854µs, 21.041ms
33+
Bytes In [total, mean] 4770000, 159.00
34+
Bytes Out [total, mean] 0, 0.00
35+
Success [ratio] 100.00%
36+
Status Codes [code:count] 200:30000
37+
Error Set:
38+
```
39+
40+
## Test2: Running coffee header based routing
41+
42+
```text
43+
Requests [total, rate, throughput] 30000, 1000.01, 999.98
44+
Duration [total, attack, wait] 30s, 30s, 718.788µs
45+
Latencies [min, mean, 50, 90, 95, 99, max] 558.587µs, 766.304µs, 750.921µs, 866.313µs, 907.422µs, 1.022ms, 10.872ms
46+
Bytes In [total, mean] 4800000, 160.00
47+
Bytes Out [total, mean] 0, 0.00
48+
Success [ratio] 100.00%
49+
Status Codes [code:count] 200:30000
50+
Error Set:
51+
```
52+
53+
## Test3: Running coffee query based routing
54+
55+
```text
56+
Requests [total, rate, throughput] 30000, 1000.02, 999.99
57+
Duration [total, attack, wait] 30s, 30s, 733.649µs
58+
Latencies [min, mean, 50, 90, 95, 99, max] 572.624µs, 771.492µs, 758.449µs, 867.491µs, 907.997µs, 1.032ms, 11.906ms
59+
Bytes In [total, mean] 5040000, 168.00
60+
Bytes Out [total, mean] 0, 0.00
61+
Success [ratio] 100.00%
62+
Status Codes [code:count] 200:30000
63+
Error Set:
64+
```
65+
66+
## Test4: Running tea GET method based routing
67+
68+
```text
69+
Requests [total, rate, throughput] 30000, 1000.03, 1000.00
70+
Duration [total, attack, wait] 30s, 29.999s, 712.155µs
71+
Latencies [min, mean, 50, 90, 95, 99, max] 549.224µs, 760.423µs, 746.75µs, 853.877µs, 894.554µs, 1.008ms, 8.12ms
72+
Bytes In [total, mean] 4710000, 157.00
73+
Bytes Out [total, mean] 0, 0.00
74+
Success [ratio] 100.00%
75+
Status Codes [code:count] 200:30000
76+
Error Set:
77+
```
78+
79+
## Test5: Running tea POST method based routing
80+
81+
```text
82+
Requests [total, rate, throughput] 30000, 1000.00, 999.98
83+
Duration [total, attack, wait] 30.001s, 30s, 778.666µs
84+
Latencies [min, mean, 50, 90, 95, 99, max] 544.486µs, 762.077µs, 748.375µs, 852.722µs, 893.014µs, 1.009ms, 9.632ms
85+
Bytes In [total, mean] 4710000, 157.00
86+
Bytes Out [total, mean] 0, 0.00
87+
Success [ratio] 100.00%
88+
Status Codes [code:count] 200:30000
89+
Error Set:
90+
```
81.3 KB
Loading
111 KB
Loading
81.8 KB
Loading
Loading
107 KB
Loading
Loading

tests/results/longevity/1.6.0/oss.md

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Results
2+
3+
## Test environment
4+
5+
NGINX Plus: false
6+
7+
NGINX Gateway Fabric:
8+
9+
- Commit: 8be03e1fc5161a2b1bc0962fb0d8732114a9093d
10+
- Date: 2025-01-14T18:57:38Z
11+
- Dirty: true
12+
13+
GKE Cluster:
14+
15+
- Node count: 3
16+
- k8s version: v1.30.6-gke.1596000
17+
- vCPUs per node: 2
18+
- RAM per node: 4018128Ki
19+
- Max pods per node: 110
20+
- Zone: us-central1-c
21+
- Instance Type: e2-medium
22+
23+
## Traffic
24+
25+
HTTP:
26+
27+
```text
28+
Running 5760m test @ http://cafe.example.com/coffee
29+
2 threads and 100 connections
30+
Thread Stats Avg Stdev Max +/- Stdev
31+
Latency 189.49ms 147.10ms 2.00s 78.44%
32+
Req/Sec 293.54 193.84 1.95k 66.59%
33+
198532845 requests in 5760.00m, 67.91GB read
34+
Socket errors: connect 0, read 309899, write 63, timeout 2396
35+
Requests/sec: 574.46
36+
Transfer/sec: 206.05KB
37+
```
38+
39+
HTTPS:
40+
41+
```text
42+
Running 5760m test @ https://cafe.example.com/tea
43+
2 threads and 100 connections
44+
Thread Stats Avg Stdev Max +/- Stdev
45+
Latency 179.59ms 121.50ms 1.99s 67.56%
46+
Req/Sec 292.54 193.88 2.39k 66.47%
47+
197890521 requests in 5760.00m, 66.57GB read
48+
Socket errors: connect 176, read 303560, write 0, timeout 7
49+
Requests/sec: 572.60
50+
Transfer/sec: 201.98KB
51+
```
52+
53+
### Logs
54+
55+
No error logs in nginx-gateway.
56+
57+
No error logs in nginx.
58+
59+
60+
### Key Metrics
61+
62+
#### Containers memory
63+
64+
![oss-memory.png](oss-memory.png)
65+
66+
#### NGF Container Memory
67+
68+
![oss-ngf-memory.png](oss-ngf-memory.png)
69+
70+
### Containers CPU
71+
72+
![oss-cpu.png](oss-cpu.png)
73+
74+
### NGINX metrics
75+
76+
![oss-stub-status.png](oss-stub-status.png)
77+
78+
### Reloads
79+
80+
Rate of reloads - successful and errors:
81+
82+
![oss-reloads.png](oss-reloads.png)
83+
84+
Reload spikes correspond to 1 hour periods of backend re-rollouts.
85+
86+
No reloads finished with an error.
87+
88+
Reload time distribution - counts:
89+
90+
![oss-reload-time.png](oss-reload-time.png)
91+
92+
93+
## Comparison with previous results
94+
95+
Graphs look similar to 1.5.0 results. There is a color change swap in a few graphs which is a little confusing.
96+
NGINX container memory decreased dramatically. NGINX Stub Status graph is confusing to interpret, which can make it seem
97+
quite different to the 1.5.0 results, but it is similar, only with an increase in requests.
82 KB
Loading
103 KB
Loading
Loading
Loading
58.3 KB
Loading
169 KB
Loading

0 commit comments

Comments
 (0)