将应用程序从.net 5.0迁移到.net 6.0后性能下降



我已从升级了我的支付应用程序。净5.0至。Net 6.0,没有任何单行代码更改。我在迁移前和迁移后的版本中都使用jmeter进行了压力测试。

迁移后的压力结果显示,当用户为100-200,持续时间为5分钟时,在两个方面都有所下降:

  1. 降低TPS(每秒事务数(
  2. CPU使用率高

我是不是遗漏了什么?我是否需要进行一些服务器级别的配置,以使我的应用程序使用.net6.0获得最佳效果?


更新:

CPU使用率高的问题得到了解决,这是由于其中一个应用程序中的数据库调用成本高昂。但我仍然看不出TPS有什么不同,实际上TPS在.net 6.0中有点下降。

我设置了以下变量:

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

仍然看不出性能上的差异。请。建议

中的性能改进不应该是这样。NET 6文章你的应用程序应该工作得更快。

如果您绝对确定较低的TPS是由较高的CPU使用率引起的,则需要使用YourKit或APM等探查器工具来查看CPU使用率或速度减慢的确切原因。

您也可以尝试设置以下选项:

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

最新更新