我们有一个相当大量的ASP.Net网站,使用MS商务服务器在c#中编写,在32位环境中运行。我看到工作人员经常处理高达980兆字节。我想简要介绍一下这个过程,并确定在代码中可以获得哪些收益以减少此站点的内存占用量。我的问题是什么工具在ASP.Net Web应用程序上做这种事情时效果很好?
我正在寻找可以给我非常具体的反馈的工具,这将有助于清楚地看到代码中需要更改的内容。最好是这个工具可以描述我们的生产环境工作者流程,以便比较更具体的数据集。
[编辑]
到目前为止,似乎共识是这是蚂蚁和JetBrains之间的折腾。有人用过吗?如果是这样哪个优先,或者每个优点和缺点是什么?
答案 0 :(得分:7)
ANTS Profiler非常擅长分析ASP.NET应用程序。
答案 1 :(得分:7)
有一种免费的方式。
AFAIK,上面需要Visual Studio“Ultimate”版本(我猜它现在叫做“Enterprise”?)。如果您没有,请按照以下步骤操作(非常简单)
.loadby sos clr
(这将加载允许WinDbg分析.NET进程的SOS.dll,SOS.dll是.NET Framework的一部分,所以你可能已经拥有它了)!dumpheap -stat
(这将输出类名,按内存使用情况,升序排序。跳过system.string
和system.byte[]
类导致这些是副作用,而不是原因.. 。)2019年更新:现在可通过MS Store购买WinDbg,只需搜索“WinDbg”,然后点击几下即可。
答案 2 :(得分:3)
答案 3 :(得分:1)
像ANTS memory profiler之类的东西对你有用。
答案 4 :(得分:1)
还要考虑自动化质量保证中的AQTime。
答案 5 :(得分:0)
我们使用AviCode,它对我们非常有用。
答案 6 :(得分:0)