[Exchange and share] 疑似与DotNetSDK的兼容性问题,debug巨慢无比!
Tofloor
poster avatar
137******41
deepin
2024-10-29 23:27
Author

我办公室是装的deepinV23,主要是开发和应用系统运维用,装了jebrains全家桶。

其中用Rider开发DotNet程序有几年了,今天突然遇到一个很神奇的问题,debug模式运行一个webApi(使用了我基于ABP框架魔改的底层框架),相对有点复杂,用了EFCore、rabbitMq、redis等功能,然后发现程序运行速度奇慢无比!比调试其他简单应用慢了几十倍不止,函数单步调试要好多秒才能跳到下一行,根本没法用。

因为其他应用调试虽然反应不快,但都在可接受范围,我就猜想是不是用的某个包和debug模式有冲突,结果删减了几个包,net6换到net8都没用。文件句柄数量也是前一天rider提示不够后刚扩展了的。没想出缘由,为了验证是不是某个nuget包的兼容问题,就到windows虚拟机上运行rider,debug同一个应用,结果……健步如飞,根本不卡。

而且我本机是1万多的机器,SSD+48Gb内存,虚拟机只是个HDD硬盘的主机,不存在配置问题。同时用idea、webStorm都很正常,我只能怀疑DotNetSDK和deepin有特定情况下的兼容性问题。

有没有哪位搞底层运维或runtime级别程序开发的老哥指点一二?

Reply Favorite View the author
All Replies
137******41
deepin
2024-10-29 23:30
#1

前面也遇到过这个程序调试慢,但是没有今天这么夸张,前面是大约慢3-4倍,还能忍受。今天直接接近卡死,启动程序90s都到不了断点……

Reply View the author
ThinkYoung
deepin
2024-10-30 00:47
#2

虽然没有不太用DOTNET

先看看资源占用是否有异常呢? cpu 内存 API接口

可以换个最新内核试试,看看是不是内核问题; 是否有进程间通讯卡死等问题

内存是否占用过高 甚至泄漏异常? 看看是不是GC问题?

接口异步响应有问题等等?

Reply View the author
fslong
deepin beta test group
2024-10-30 08:19
#3

如果CPU和内存占用不高的话建议看看io读写方面是否有问题

Reply View the author
137******41
deepin
2024-10-30 08:36
#4
ThinkYoung

虽然没有不太用DOTNET

先看看资源占用是否有异常呢? cpu 内存 API接口

可以换个最新内核试试,看看是不是内核问题; 是否有进程间通讯卡死等问题

内存是否占用过高 甚至泄漏异常? 看看是不是GC问题?

接口异步响应有问题等等?

资源占用一点都不高

Reply View the author
ThinkYoung
deepin
2024-10-30 09:12
#5
137******41

资源占用一点都不高

如果资源都没问题,就要考虑是否是一些进程锁 文件锁 GC 导致锁等待 需要dump分析

Reply View the author