我已从升级了我的支付应用程序。净5.0至。Net 6.0,没有任何单行代码更改。我在迁移前和迁移后的版本中都使用jmeter进行了压力测试。
迁移后的压力结果显示,当用户为100-200,持续时间为5分钟时,在两个方面都有所下降:
- 降低TPS(每秒事务数(
- 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