2009-06-12 47 views
4

我们有一个相当高的ASP.Net网站编写的使用MS商业服务器,在32位环境中运行的C#编写。我经常看到工作进程高达980兆字节。我想介绍一下这个过程,并确定可以在代码中取得哪些收益,以减少本网站的内存占用。我的问题有哪些工具对ASP.Net Web应用程序做这种事情的效果很好?ASP.Net工作进程内存配置文件工具

我正在寻找能够给我非常具体的反馈的工具,这将有助于清楚地看到代码中需要更改哪些内容。如果这个工具可以描述我们的生产环境工作流程,以便更具体地比较一组数据,那将是最好的。

[编辑]

到目前为止,似乎一致认为这是蚂蚁和JetBrains公司之间的折腾了。有人使用过吗?如果是这样的话,哪一个更好,或者每个人的利弊是什么?

+2

相关:http://stackoverflow.com/questions/3927/what-are-some-good-net-profilers – lance 2009-06-15 14:09:34

回答

7

ANTS Profiler非常适合剖析ASP.NET应用程序。

+0

该工具是否可以描述生产工作者流程? – James 2009-06-12 21:03:40

+0

我可以,但您需要在生产机器上运行该工具。 – 2009-06-12 21:26:09

0

我们使用AviCode,和它的作品相当不错的我们。

0

JetBrains的dotTrace救了我好几次。 它不是免费的(试用可用),但它确实是强大的!

1

另请参阅自动化质量检查中的AQTime

4

有一个免费的方式。

  • 启动任务管理器
  • 右键单击w3wp进程
  • 选择“创建转储”(我很惊讶人们很少知道这个功能)
  • 转储文件复制到本地机(所以我们不要打扰生产服务器)
  • 在Visual Studio中打开该文件
  • 享受
  • 选择高级视图哪一类我们“调试托管内存” es内存等

AFAIK,上面需要Visual Studio“终极版”(我猜它叫做“企业”现在?)。如果你没有一个,然后按照下列步骤(很简单太)

  • 推出的WinDbg(免费工具,Windows SDK中的一部分,这里有在计算器上吨的答案如何下载的WinDbg没有所有的SDK英国媒体报道)
  • 按Ctrl + d和转储文件加载到WinDbg的
  • .loadby sos clr(这将加载SOS.dll允许的WinDbg分析.NET程序,SOS.dll是.NET框架的一部分,所以你可能已经有它)
  • 类型!dumpheap -stat(这将输出类名称,按内存使用情况排序,升序。跳过system.stringsystem.byte[]类引起这些副作用,而不是原因......)