'Performance degradation after migrating application from .net 5.0 to .net 6.0

I have upgraded my payment application from .Net 5.0 to .Net 6.0 without any single line of code changes. I performed stress test using jmeter on both pre migration and post migration releases.

The stress results of post migration are showing degradation in 2 respects, when users were 100-200 and duration was 5 mins:

  1. lower TPS (Transaction per second)
  2. High CPU usage

Am I missing something? Do i need to do some server level configurations to make my application give best results with .net6.0?


UPDATES:

The high CPU usage issue is resolved, which was due to a costly database call in one of the application. But still I cannot see any difference in the TPS, infact TPS is a bit dropped in .net 6.0.

I have set the below variables:

set DOTNET_ReadyToRun=0 
set DOTNET_TieredPGO=1 
set DOTNET_TC_QuickJitForLoops=1

Still no difference in performance can be seen. Pls. suggest.



Solution 1:[1]

It shouldn't be the case, looking at Performance Improvements in .NET 6 article your app should work faster.

If you're absolutely sure that the lower TPS is caused by higher CPU usage you need to use a profiler tool like YourKit or an APM tool to see what exactly causes the CPU usage or slowdown.

You also can try setting the following options:

set DOTNET_ReadyToRun=0 
set DOTNET_TieredPGO=1 
set DOTNET_TC_QuickJitForLoops=1

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dmitri T