-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regressions in System.Net.Security.Tests.SslStreamTests #68408
Comments
Regression introduced in #66334 |
Tagging subscribers to this area: @dotnet/ncl, @vcsjones Issue DetailsRun Information
Regressions in System.Net.Security.Tests.SslStreamTests
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Net.Security.Tests.SslStreamTests*' PayloadsHistogramSystem.Net.Security.Tests.SslStreamTests.HandshakeECDSA256CertAsync(protocol: Tls13)
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
I actually experienced something similar when looking at memory allocations. #66334 made processing of expired certificates way more expensive as on each round they would be considered expired and we would rebuild the chain over and over. This is the RS2048 certificate from test.
I'm not sure how much we care about that, but something to consider. The expiration did not matter before is it is form of regression. I think we can get perf back by re-generating the certificates with updated time. |
I agree the perf hit should occur only on an expired cert chain. And if there is still a hit with unexpired certs, we can improve it slightly by moving the calculation of the expiration timestamp to |
@wfurt how did you generate those certs? The ec256.pfx contains a key with |
I don't remember the exact details but I did not do anything's special besides setting key size (as far as I remember) |
I tried that before, but I did not copy extensions from the original cert, which apparently affects the key params... anyway, it works now, I put up dotnet/performance#2405 |
Triage: this is expected because of new functionality, but we should take a look. |
This regression appears on a variety of configs, here is some more data to help this effort: System.Net.Security.Tests.SslStreamTests.HandshakeRSA2048CertAsync(protocol: Tls12)
System.Net.Security.Tests.SslStreamTests.HandshakeECDSA256CertAsync(protocol: Tls12)
System.Net.Security.Tests.SslStreamTests.HandshakeRSA4096CertAsync(protocol: Tls12)
|
@dakersnar were these measurements taken before or after merging dotnet/performance#2405? Preferably, we should compare the old results with the ones after the mentioned PR was merged. |
@rzikm these results are comparing preview3 and preview4, which is before that change was merged. However, looking at the perf lab data (which runs continuously), it's looking like the regression has not been solved yet, at least on the config I checked (windows 10 x64). EDIT: actually I just noticed that your commit was merged yesterday, so it's very likely the perf lab has just not run those changes yet. I'll check in on this in the next few days. |
Run Information
Regressions in System.Net.Security.Tests.SslStreamTests
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Net.Security.Tests.SslStreamTests.HandshakeECDSA256CertAsync(protocol: Tls13)
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: