Skip to content

Commit 3fc13dd

Browse files
authored
- release version 1.0.0 (#19)
1 parent 1c100d6 commit 3fc13dd

File tree

5 files changed

+247
-4
lines changed

5 files changed

+247
-4
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1919
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
2020

21-
<Version>0.6.8</Version>
21+
<Version>1.0.0</Version>
2222
</PropertyGroup>
2323
</Project>

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -348,12 +348,12 @@ internal class DisabledCustomerFeature
348348
## Performance
349349

350350
Under load tests with 100 virtual users:
351-
- MinimalEndpoints perform nearly the same (~1%) as Minimal APIs,
352-
- WebResultEndpoints introduce a slight overhead (~2%) compared to Minimal APIs in terms of requests per second.
351+
- MinimalEndpoints perform nearly the same (~1-2%) as Minimal APIs,
352+
- WebResultEndpoints introduce a slight overhead (~2-3%) compared to Minimal APIs in terms of requests per second.
353353

354354
The web apis called for tests, perform only in-process operations like resolving dependency, validating input, calling local methods with no network or disk I/O.
355355

356-
See [test results](./samples/BenchmarkWebApi/BenchmarkFiles/Results/0.6.6/inprocess_benchmark_results.txt) under [BenchmarkFiles](https://github.com/modabas/ModEndpoints/tree/main/samples/BenchmarkWebApi/BenchmarkFiles) folder of BenchmarkWebApi project for detailed results and test scripts.
356+
See [test results](./samples/BenchmarkWebApi/BenchmarkFiles/Results/1.0.0/inprocess_benchmark_results.txt) under [BenchmarkFiles](https://github.com/modabas/ModEndpoints/tree/main/samples/BenchmarkWebApi/BenchmarkFiles) folder of BenchmarkWebApi project for detailed results and test scripts.
357357

358358
## Endpoint Types
359359

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
 k6  .\k6 run minimal_api_basic.js
2+
3+
/\ Grafana /‾‾/
4+
/\ / \ |\ __ / /
5+
/ \/ \ | |/ / / ‾‾\
6+
/ \ | ( | (‾) |
7+
/ __________ \ |_|\_\ \_____/
8+
9+
execution: local
10+
script: minimal_api_basic.js
11+
output: -
12+
13+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
14+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
15+
16+
17+
✓ status was 200
18+
19+
checks.........................: 100.00% 8230786 out of 8230786
20+
data_received..................: 1.4 GB 13 MB/s
21+
data_sent......................: 840 MB 7.6 MB/s
22+
http_req_blocked...............: avg=3.23µs min=0s med=0s max=38.77ms p(90)=0s p(95)=0s
23+
http_req_connecting............: avg=8ns min=0s med=0s max=8.32ms p(90)=0s p(95)=0s
24+
✓ http_req_duration..............: avg=903.7µs min=0s med=999.6µs max=90.17ms p(90)=1.93ms p(95)=2.01ms
25+
{ expected_response:true }...: avg=903.7µs min=0s med=999.6µs max=90.17ms p(90)=1.93ms p(95)=2.01ms
26+
http_req_failed................: 0.00% 0 out of 8230786
27+
http_req_receiving.............: avg=32.8µs min=0s med=0s max=84.56ms p(90)=0s p(95)=0s
28+
http_req_sending...............: avg=10.54µs min=0s med=0s max=57.45ms p(90)=0s p(95)=0s
29+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
30+
http_req_waiting...............: avg=860.35µs min=0s med=999.4µs max=81.58ms p(90)=1.75ms p(95)=2ms
31+
http_reqs......................: 8230786 74825.012123/s
32+
iteration_duration.............: avg=1.01ms min=0s med=1ms max=112.96ms p(90)=1.99ms p(95)=2.03ms
33+
iterations.....................: 8230786 74825.012123/s
34+
vus............................: 1 min=1 max=100
35+
vus_max........................: 100 min=100 max=100
36+
37+
38+
running (1m50.0s), 000/100 VUs, 8230786 complete and 0 interrupted iterations
39+
default ✓ [======================================] 000/100 VUs 1m50s
40+
41+
42+
 k6  .\k6 run minimal_endpoint_basic.js
43+
44+
/\ Grafana /‾‾/
45+
/\ / \ |\ __ / /
46+
/ \/ \ | |/ / / ‾‾\
47+
/ \ | ( | (‾) |
48+
/ __________ \ |_|\_\ \_____/
49+
50+
execution: local
51+
script: minimal_endpoint_basic.js
52+
output: -
53+
54+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
55+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
56+
57+
58+
✓ status was 200
59+
60+
checks.........................: 100.00% 8131366 out of 8131366
61+
data_received..................: 1.4 GB 13 MB/s
62+
data_sent......................: 870 MB 7.9 MB/s
63+
http_req_blocked...............: avg=3.28µs min=0s med=0s max=47.34ms p(90)=0s p(95)=0s
64+
http_req_connecting............: avg=9ns min=0s med=0s max=8.03ms p(90)=0s p(95)=0s
65+
✓ http_req_duration..............: avg=913.52µs min=0s med=999.6µs max=122.02ms p(90)=1.99ms p(95)=2.01ms
66+
{ expected_response:true }...: avg=913.52µs min=0s med=999.6µs max=122.02ms p(90)=1.99ms p(95)=2.01ms
67+
http_req_failed................: 0.00% 0 out of 8131366
68+
http_req_receiving.............: avg=33.32µs min=0s med=0s max=118.24ms p(90)=0s p(95)=0s
69+
http_req_sending...............: avg=10.9µs min=0s med=0s max=50.51ms p(90)=0s p(95)=0s
70+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
71+
http_req_waiting...............: avg=869.29µs min=0s med=999.4µs max=91.17ms p(90)=1.81ms p(95)=2ms
72+
http_reqs......................: 8131366 73921.247342/s
73+
iteration_duration.............: avg=1.02ms min=0s med=1ms max=142.12ms p(90)=2ms p(95)=2.05ms
74+
iterations.....................: 8131366 73921.247342/s
75+
vus............................: 1 min=1 max=100
76+
vus_max........................: 100 min=100 max=100
77+
78+
79+
running (1m50.0s), 000/100 VUs, 8131366 complete and 0 interrupted iterations
80+
default ✓ [======================================] 000/100 VUs 1m50s
81+
82+
83+
 k6  .\k6 run webresult_endpoint_basic.js
84+
85+
/\ Grafana /‾‾/
86+
/\ / \ |\ __ / /
87+
/ \/ \ | |/ / / ‾‾\
88+
/ \ | ( | (‾) |
89+
/ __________ \ |_|\_\ \_____/
90+
91+
execution: local
92+
script: webresult_endpoint_basic.js
93+
output: -
94+
95+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
96+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
97+
98+
99+
✓ status was 200
100+
101+
checks.........................: 100.00% 8056008 out of 8056008
102+
data_received..................: 1.4 GB 13 MB/s
103+
data_sent......................: 878 MB 8.0 MB/s
104+
http_req_blocked...............: avg=3.44µs min=0s med=0s max=35.56ms p(90)=0s p(95)=0s
105+
http_req_connecting............: avg=8ns min=0s med=0s max=2.53ms p(90)=0s p(95)=0s
106+
✓ http_req_duration..............: avg=925.18µs min=0s med=999.7µs max=84.98ms p(90)=1.99ms p(95)=2.01ms
107+
{ expected_response:true }...: avg=925.18µs min=0s med=999.7µs max=84.98ms p(90)=1.99ms p(95)=2.01ms
108+
http_req_failed................: 0.00% 0 out of 8056008
109+
http_req_receiving.............: avg=34.39µs min=0s med=0s max=64.68ms p(90)=0s p(95)=0s
110+
http_req_sending...............: avg=11.16µs min=0s med=0s max=50.04ms p(90)=0s p(95)=0s
111+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
112+
http_req_waiting...............: avg=879.62µs min=0s med=999.5µs max=84.98ms p(90)=1.86ms p(95)=2ms
113+
http_reqs......................: 8056008 73236.187294/s
114+
iteration_duration.............: avg=1.03ms min=0s med=1ms max=93.42ms p(90)=1.99ms p(95)=2.03ms
115+
iterations.....................: 8056008 73236.187294/s
116+
vus............................: 1 min=1 max=100
117+
vus_max........................: 100 min=100 max=100
118+
119+
120+
running (1m50.0s), 000/100 VUs, 8056008 complete and 0 interrupted iterations
121+
default ✓ [======================================] 000/100 VUs 1m50s
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
 k6  .\k6 run minimal_api_inprocess.js
2+
3+
/\ Grafana /‾‾/
4+
/\ / \ |\ __ / /
5+
/ \/ \ | |/ / / ‾‾\
6+
/ \ | ( | (‾) |
7+
/ __________ \ |_|\_\ \_____/
8+
9+
execution: local
10+
script: minimal_api_inprocess.js
11+
output: -
12+
13+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
14+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
15+
16+
17+
✓ status was 200
18+
19+
checks.........................: 100.00% 5715355 out of 5715355
20+
data_received..................: 1.1 GB 9.7 MB/s
21+
data_sent......................: 1.4 GB 13 MB/s
22+
http_req_blocked...............: avg=4.28µs min=0s med=0s max=56.08ms p(90)=0s p(95)=0s
23+
http_req_connecting............: avg=14ns min=0s med=0s max=9.93ms p(90)=0s p(95)=0s
24+
✓ http_req_duration..............: avg=1.31ms min=0s med=1.01ms max=98.62ms p(90)=2.29ms p(95)=2.74ms
25+
{ expected_response:true }...: avg=1.31ms min=0s med=1.01ms max=98.62ms p(90)=2.29ms p(95)=2.74ms
26+
http_req_failed................: 0.00% 0 out of 5715355
27+
http_req_receiving.............: avg=46.48µs min=0s med=0s max=78.89ms p(90)=0s p(95)=0s
28+
http_req_sending...............: avg=19.44µs min=0s med=0s max=58.62ms p(90)=0s p(95)=0s
29+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
30+
http_req_waiting...............: avg=1.24ms min=0s med=1.01ms max=98.62ms p(90)=2.2ms p(95)=2.61ms
31+
http_reqs......................: 5715355 51957.585633/s
32+
iteration_duration.............: avg=1.47ms min=0s med=1.16ms max=98.62ms p(90)=2.51ms p(95)=3ms
33+
iterations.....................: 5715355 51957.585633/s
34+
vus............................: 1 min=1 max=100
35+
vus_max........................: 100 min=100 max=100
36+
37+
38+
running (1m50.0s), 000/100 VUs, 5715355 complete and 0 interrupted iterations
39+
default ✓ [======================================] 000/100 VUs 1m50s
40+
41+
42+
 k6  .\k6 run minimal_endpoint_inprocess.js
43+
44+
/\ Grafana /‾‾/
45+
/\ / \ |\ __ / /
46+
/ \/ \ | |/ / / ‾‾\
47+
/ \ | ( | (‾) |
48+
/ __________ \ |_|\_\ \_____/
49+
50+
execution: local
51+
script: minimal_endpoint_inprocess.js
52+
output: -
53+
54+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
55+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
56+
57+
58+
✓ status was 200
59+
60+
checks.........................: 100.00% 5652050 out of 5652050
61+
data_received..................: 1.1 GB 9.6 MB/s
62+
data_sent......................: 1.4 GB 13 MB/s
63+
http_req_blocked...............: avg=4.17µs min=0s med=0s max=36.34ms p(90)=0s p(95)=0s
64+
http_req_connecting............: avg=13ns min=0s med=0s max=2.22ms p(90)=0s p(95)=0s
65+
✓ http_req_duration..............: avg=1.33ms min=0s med=1.03ms max=130.75ms p(90)=2.27ms p(95)=2.65ms
66+
{ expected_response:true }...: avg=1.33ms min=0s med=1.03ms max=130.75ms p(90)=2.27ms p(95)=2.65ms
67+
http_req_failed................: 0.00% 0 out of 5652050
68+
http_req_receiving.............: avg=46.48µs min=0s med=0s max=111.1ms p(90)=0s p(95)=0s
69+
http_req_sending...............: avg=18.94µs min=0s med=0s max=59.18ms p(90)=0s p(95)=0s
70+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
71+
http_req_waiting...............: avg=1.27ms min=0s med=1.01ms max=125.46ms p(90)=2.18ms p(95)=2.57ms
72+
http_reqs......................: 5652050 51382.26147/s
73+
iteration_duration.............: avg=1.48ms min=0s med=1.29ms max=130.75ms p(90)=2.51ms p(95)=2.99ms
74+
iterations.....................: 5652050 51382.26147/s
75+
vus............................: 1 min=1 max=100
76+
vus_max........................: 100 min=100 max=100
77+
78+
79+
running (1m50.0s), 000/100 VUs, 5652050 complete and 0 interrupted iterations
80+
default ✓ [======================================] 000/100 VUs 1m50s
81+
82+
83+
 k6  .\k6 run webresult_endpoint_inprocess.js
84+
85+
/\ Grafana /‾‾/
86+
/\ / \ |\ __ / /
87+
/ \/ \ | |/ / / ‾‾\
88+
/ \ | ( | (‾) |
89+
/ __________ \ |_|\_\ \_____/
90+
91+
execution: local
92+
script: webresult_endpoint_inprocess.js
93+
output: -
94+
95+
scenarios: (100.00%) 1 scenario, 100 max VUs, 2m20s max duration (incl. graceful stop):
96+
* default: Up to 100 looping VUs for 1m50s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
97+
98+
99+
✓ status was 200
100+
101+
checks.........................: 100.00% 5622993 out of 5622993
102+
data_received..................: 1.1 GB 9.6 MB/s
103+
data_sent......................: 1.4 GB 13 MB/s
104+
http_req_blocked...............: avg=4.28µs min=0s med=0s max=35.49ms p(90)=0s p(95)=0s
105+
http_req_connecting............: avg=15ns min=0s med=0s max=14.94ms p(90)=0s p(95)=0s
106+
✓ http_req_duration..............: avg=1.33ms min=0s med=1.04ms max=92.53ms p(90)=2.29ms p(95)=2.69ms
107+
{ expected_response:true }...: avg=1.33ms min=0s med=1.04ms max=92.53ms p(90)=2.29ms p(95)=2.69ms
108+
http_req_failed................: 0.00% 0 out of 5622993
109+
http_req_receiving.............: avg=49.65µs min=0s med=0s max=81.59ms p(90)=0s p(95)=0s
110+
http_req_sending...............: avg=20.78µs min=0s med=0s max=71.26ms p(90)=0s p(95)=0s
111+
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
112+
http_req_waiting...............: avg=1.26ms min=0s med=1.01ms max=70.09ms p(90)=2.21ms p(95)=2.59ms
113+
http_reqs......................: 5622993 51117.904741/s
114+
iteration_duration.............: avg=1.49ms min=0s med=1.28ms max=93.04ms p(90)=2.51ms p(95)=3ms
115+
iterations.....................: 5622993 51117.904741/s
116+
vus............................: 1 min=1 max=100
117+
vus_max........................: 100 min=100 max=100
118+
119+
120+
running (1m50.0s), 000/100 VUs, 5622993 complete and 0 interrupted iterations
121+
default ✓ [======================================] 000/100 VUs 1m50s

samples/BenchmarkWebApi/BenchmarkWebApi.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
<ItemGroup>
1616
<Folder Include="BenchmarkFiles\Results\0.6.5\" />
17+
<Folder Include="BenchmarkFiles\Results\1.0.0\" />
1718
<Folder Include="BenchmarkFiles\Tests\" />
1819
</ItemGroup>
1920
</Project>

0 commit comments

Comments
 (0)