1
1
imports :
2
2
- https://raw.githubusercontent.com/dotnet/crank/main/src/Microsoft.Crank.Jobs.Bombardier/bombardier.yml
3
3
- https://raw.githubusercontent.com/dotnet/crank/main/src/Microsoft.Crank.Jobs.HttpClient/httpclient.yml
4
+ - https://github.com/dotnet/crank/blob/main/src/Microsoft.Crank.Jobs.Wrk/wrk.yml?raw=true
4
5
- https://github.com/aspnet/Benchmarks/blob/main/scenarios/aspnet.profiles.yml?raw=true
5
6
- https://github.com/aspnet/Benchmarks/blob/main/build/azure.profile.yml?raw=true
6
7
@@ -18,11 +19,12 @@ jobs:
18
19
# behavioral settings
19
20
mTLS : false # enables settings on http.sys to negotiate client cert on connections
20
21
tlsRenegotiation : false # enables client cert validation
22
+ certPublicKeyLength : 2048 # controls cert with such a length is used for the test
21
23
# debug settings
22
24
certValidationConsoleEnabled : false
23
25
statsEnabled : false
24
26
logRequestDetails : false
25
- arguments : " --urls https://{{serverAddress}}:{{serverPort}} --mTLS {{mTLS}} --certValidationConsoleEnabled {{certValidationConsoleEnabled}} --statsEnabled {{statsEnabled}} --tlsRenegotiation {{tlsRenegotiation}} --logRequestDetails {{logRequestDetails}}"
27
+ arguments : " --urls https://{{serverAddress}}:{{serverPort}} --mTLS {{mTLS}} --certValidationConsoleEnabled {{certValidationConsoleEnabled}} --statsEnabled {{statsEnabled}} --tlsRenegotiation {{tlsRenegotiation}} --logRequestDetails {{logRequestDetails}} --certPublicKeyLength {{certPublicKeyLength}} "
26
28
27
29
kestrelServer :
28
30
source :
@@ -35,11 +37,12 @@ jobs:
35
37
mTLS : false
36
38
tlsRenegotiation : false
37
39
tlsProtocols : " tls12,tls13"
40
+ certPublicKeyLength : 2048 # controls cert with such a length is used for the test
38
41
# debug settings
39
42
certValidationConsoleEnabled : false
40
43
statsEnabled : false
41
44
logRequestDetails : false
42
- arguments : " --urls https://{{serverAddress}}:{{serverPort}} --mTLS {{mTLS}} --certValidationConsoleEnabled {{certValidationConsoleEnabled}} --tlsProtocols {{tlsProtocols}} --statsEnabled {{statsEnabled}} --tlsRenegotiation {{tlsRenegotiation}} --logRequestDetails {{logRequestDetails}}"
45
+ arguments : " --urls https://{{serverAddress}}:{{serverPort}} --mTLS {{mTLS}} --certValidationConsoleEnabled {{certValidationConsoleEnabled}} --tlsProtocols {{tlsProtocols}} --statsEnabled {{statsEnabled}} --tlsRenegotiation {{tlsRenegotiation}} --logRequestDetails {{logRequestDetails}} --certPublicKeyLength {{certPublicKeyLength}} "
43
46
44
47
dockerLinuxKestrelServer :
45
48
sources :
@@ -58,13 +61,28 @@ jobs:
58
61
certValidationConsoleEnabled : false
59
62
statsEnabled : false
60
63
64
+ dockerLinuxNginxServer :
65
+ sources :
66
+ dockerNginx :
67
+ repository : https://github.com/aspnet/benchmarks.git
68
+ branchOrCommit : main
69
+ dockerFile : dockerNginx/src/BenchmarksApps/TLS/Nginx/Dockerfile
70
+ dockerImageName : dockerNginx
71
+ dockerContextDirectory : dockerNginx/src/BenchmarksApps/TLS
72
+ port : 8080
73
+ readyStateText : Application started.
74
+ environmentVariables :
75
+ urls : " https://*:8080" # any ip, port 8080
76
+
61
77
scenarios :
62
78
63
79
# HTTP.SYS
64
80
65
81
tls-handshakes-httpsys :
66
82
application :
67
83
job : httpSysServer
84
+ variables :
85
+ certPublicKeyLength : 2048
68
86
load :
69
87
job : httpclient
70
88
variables :
@@ -78,14 +96,12 @@ scenarios:
78
96
application :
79
97
job : httpSysServer
80
98
variables :
99
+ certPublicKeyLength : 2048
81
100
mTLS : true # enables settings on http.sys to negotiate client cert on connections
82
101
tlsRenegotiation : true # enables client cert validation
83
- certValidationConsoleEnabled : false # only for debug purposes
84
- serverPort : 8080 # IMPORTANT: not to intersect with other tests in case http.sys configuration impacts other benchmarks
85
102
load :
86
103
job : httpclient
87
104
variables :
88
- serverPort : 8080 # in sync with server
89
105
path : /hello-world
90
106
presetHeaders : connectionclose
91
107
connections : 32
@@ -98,9 +114,8 @@ scenarios:
98
114
application :
99
115
job : httpSysServer
100
116
variables :
101
- mTLS : false
117
+ certPublicKeyLength : 2048
102
118
tlsRenegotiation : true
103
- certValidationConsoleEnabled : false # only for debug purposes
104
119
load :
105
120
job : httpclient
106
121
variables :
@@ -117,6 +132,8 @@ scenarios:
117
132
tls-handshakes-kestrel :
118
133
application :
119
134
job : kestrelServer
135
+ variables :
136
+ certPublicKeyLength : 2048
120
137
load :
121
138
job : httpclient
122
139
variables :
@@ -130,8 +147,8 @@ scenarios:
130
147
application :
131
148
job : kestrelServer
132
149
variables :
150
+ certPublicKeyLength : 2048
133
151
mTLS : true
134
- certValidationConsoleEnabled : false # only for debug purposes
135
152
load :
136
153
job : httpclient
137
154
variables :
@@ -147,9 +164,9 @@ scenarios:
147
164
application :
148
165
job : kestrelServer
149
166
variables :
167
+ certPublicKeyLength : 2048
150
168
mTLS : false
151
169
tlsRenegotiation : true
152
- certValidationConsoleEnabled : false # only for debug purposes
153
170
load :
154
171
job : httpclient
155
172
variables :
@@ -221,6 +238,21 @@ scenarios:
221
238
job : dockerLinuxKestrelServer
222
239
# openssl version is already pre-installed with base image (latest)
223
240
dockerFile : dockerKestrel/src/BenchmarksApps/TLS/Kestrel/Dockerfile.azurelinux
241
+ load :
242
+ job : httpclient
243
+ variables :
244
+ path : /hello-world
245
+ serverPort : 8080
246
+ presetHeaders : connectionclose
247
+ connections : 32
248
+ serverScheme : https
249
+ sslProtocol : tls12
250
+
251
+ tls-handshakes-docker-nginx :
252
+ application :
253
+ job : dockerLinuxNginxServer
254
+ buildArguments :
255
+ - CERT_KEY_LENGTH=2048
224
256
load :
225
257
job : httpclient
226
258
variables :
0 commit comments