11imports :
22 - https://raw.githubusercontent.com/dotnet/crank/main/src/Microsoft.Crank.Jobs.Bombardier/bombardier.yml
33 - 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
45 - https://github.com/aspnet/Benchmarks/blob/main/scenarios/aspnet.profiles.yml?raw=true
56 - https://github.com/aspnet/Benchmarks/blob/main/build/azure.profile.yml?raw=true
67
@@ -18,11 +19,12 @@ jobs:
1819 # behavioral settings
1920 mTLS : false # enables settings on http.sys to negotiate client cert on connections
2021 tlsRenegotiation : false # enables client cert validation
22+ certPublicKeyLength : 2048 # controls cert with such a length is used for the test
2123 # debug settings
2224 certValidationConsoleEnabled : false
2325 statsEnabled : false
2426 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}} "
2628
2729 kestrelServer :
2830 source :
@@ -35,11 +37,12 @@ jobs:
3537 mTLS : false
3638 tlsRenegotiation : false
3739 tlsProtocols : " tls12,tls13"
40+ certPublicKeyLength : 2048 # controls cert with such a length is used for the test
3841 # debug settings
3942 certValidationConsoleEnabled : false
4043 statsEnabled : false
4144 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}} "
4346
4447 dockerLinuxKestrelServer :
4548 sources :
@@ -58,13 +61,28 @@ jobs:
5861 certValidationConsoleEnabled : false
5962 statsEnabled : false
6063
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+
6177scenarios :
6278
6379# HTTP.SYS
6480
6581 tls-handshakes-httpsys :
6682 application :
6783 job : httpSysServer
84+ variables :
85+ certPublicKeyLength : 2048
6886 load :
6987 job : httpclient
7088 variables :
@@ -78,14 +96,12 @@ scenarios:
7896 application :
7997 job : httpSysServer
8098 variables :
99+ certPublicKeyLength : 2048
81100 mTLS : true # enables settings on http.sys to negotiate client cert on connections
82101 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
85102 load :
86103 job : httpclient
87104 variables :
88- serverPort : 8080 # in sync with server
89105 path : /hello-world
90106 presetHeaders : connectionclose
91107 connections : 32
@@ -98,9 +114,8 @@ scenarios:
98114 application :
99115 job : httpSysServer
100116 variables :
101- mTLS : false
117+ certPublicKeyLength : 2048
102118 tlsRenegotiation : true
103- certValidationConsoleEnabled : false # only for debug purposes
104119 load :
105120 job : httpclient
106121 variables :
@@ -117,6 +132,8 @@ scenarios:
117132 tls-handshakes-kestrel :
118133 application :
119134 job : kestrelServer
135+ variables :
136+ certPublicKeyLength : 2048
120137 load :
121138 job : httpclient
122139 variables :
@@ -130,8 +147,8 @@ scenarios:
130147 application :
131148 job : kestrelServer
132149 variables :
150+ certPublicKeyLength : 2048
133151 mTLS : true
134- certValidationConsoleEnabled : false # only for debug purposes
135152 load :
136153 job : httpclient
137154 variables :
@@ -147,9 +164,9 @@ scenarios:
147164 application :
148165 job : kestrelServer
149166 variables :
167+ certPublicKeyLength : 2048
150168 mTLS : false
151169 tlsRenegotiation : true
152- certValidationConsoleEnabled : false # only for debug purposes
153170 load :
154171 job : httpclient
155172 variables :
@@ -221,6 +238,21 @@ scenarios:
221238 job : dockerLinuxKestrelServer
222239 # openssl version is already pre-installed with base image (latest)
223240 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
224256 load :
225257 job : httpclient
226258 variables :
0 commit comments