-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Start-up performance degradation of.NET 8 in Amazon Linux 2023 over Amazon Linux 2 #96740
Comments
Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones Issue DetailsDescriptionWe are observing a start-up performance degradation of.NET 8 in Amazon Linux 2023 over Amazon Linux 2 for https calls. The performance is intact if it's a local API call (file read/write). Configuration
Regression?
DataAmazon Linux 2 // AfterActualRun // * Summary * IterationCount=5 RunStrategy=ColdStart
Amazon Linux 2023 // AfterActualRun // * Summary * BenchmarkDotNet v0.13.12, Amazon Linux 2023 IterationCount=5 RunStrategy=ColdStart
Analysis
|
@adamsitnik thanks.. Along with above screenshot (shared by Adam), sample app is also attached in the info.zip in the Analysis section. |
Consulted with @jkotas .. we are assuming to be OpenSSL 3.0 issue , which AL2023 uses. Let us know if there is a known workaround in runtime. FYI.. I also bench marked the LoadMachineStores method. We see performance degrade between AL2 and AL2023 with cert file and cert directory same across (OS) with same size. |
Sounds like this is openssl/openssl#16871. It is known that OpenSSL 3's |
@vcsjones thank you.. is there a possibility before reading file, we can check if the file is already read. I understand we are honoring the uniqueness in the certs, but as you see if same file is read multiple times, we are causing performance issues too. Let me know if you agree, happy to submit a PR. |
closing the issue as fix has been deployed. |
Description
We are observing a start-up performance degradation of.NET 8 in Amazon Linux 2023 over Amazon Linux 2 for https calls. The performance is intact if it's a local API call (file read/write).
Configuration
*x86_64 , ARM64
Regression?
Data
Amazon Linux 2
// AfterActualRun
WorkloadResult 1: 1 op, 90633901.00 ns, 90.6339 ms/op <= ColdStart
WorkloadResult 2: 1 op, 1716177.00 ns, 1.7162 ms/op
WorkloadResult 3: 1 op, 1006949.00 ns, 1.0069 ms/op
WorkloadResult 4: 1 op, 894721.00 ns, 894.7210 us/op
WorkloadResult 5: 1 op, 997069.00 ns, 997.0690 us/op
// * Summary *
BenchmarkDotNet v0.13.12, Amazon Linux 2
Intel Xeon Platinum 8275CL CPU 3.00GHz, 1 CPU, 2 logical cores and 1 physical core
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX-512F+CD+BW+DQ+VL
Job-LDEQOF : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX-512F+CD+BW+DQ+VL
IterationCount=5 RunStrategy=ColdStart
Amazon Linux 2023
// AfterActualRun
WorkloadResult 1: 1 op, 137960338.00 ns, 137.9603 ms/op <= ColdStart
WorkloadResult 2: 1 op, 2505819.00 ns, 2.5058 ms/op
WorkloadResult 3: 1 op, 1495447.00 ns, 1.4954 ms/op
WorkloadResult 4: 1 op, 1204715.00 ns, 1.2047 ms/op
WorkloadResult 5: 1 op, 1379885.00 ns, 1.3799 ms/op
// * Summary *
BenchmarkDotNet v0.13.12, Amazon Linux 2023
Intel Xeon Platinum 8275CL CPU 3.00GHz, 1 CPU, 2 logical cores and 1 physical core
.NET SDK 8.0.100
[Host] : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL
Job-GQCBXH : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX-512F+CD+BW+DQ+VL
IterationCount=5 RunStrategy=ColdStart
Analysis
The text was updated successfully, but these errors were encountered: