问题标签 [ants]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
481 浏览

ants - ANTS 4 OMP 中止错误

我已经下载了 ANTS 和 dotTrace 分析器的试用版。

在 ANTS 中进行分析时,程序在某个点停止,我在控制台窗口中收到此错误:

系统错误(-2147467259):__kmp_setaffinity:SetThreadAffinityMask:未指定的错误

OMP 中止:检测到致命的系统错误。

dotTrace 中没有戏剧性的程序配置文件。错误是什么意思,是我的代码问题还是 ANTS 问题?

0 投票
1 回答
2722 浏览

c# - 将 ant 性能分析器附加到 asp.net-mvc 站点失败

目前我的 asp.net-mvc 站点使 w3wp.exe 进程 cpu 以 100% 运行。我认为 red-gate 的蚂蚁分析器应该能够给我一些关于我应该在哪里寻找的线索。

当我开始分析会话时,我可以在 IIS 托管和开发服务器托管的 asp.net Web 应用程序之间进行选择。其中一个对我来说看起来是最合乎逻辑的选择

  • ASP.NET Web 应用程序(托管在 Web 开发服务器中) 我将它指向我的 Web 应用程序的目录(default.aspx 所在的位置)并将绑定端口设置为正确的端口。
    按下开始分析按钮

  • ASP.NET Web 应用程序(托管在 IIS 中)
    加载并启动项目后,我填写了我的本地主机(包括端口)的完整 URL,然后按“开始分析”

两个选项都失败,但出现以下异常

有任何想法吗?

0 投票
1 回答
333 浏览

.net - Ants Profiler:如何优化“程序集加载或卸载”中的时间花费

我正在使用 Ants Profiler 来分析我的 ASP.Net 应用程序。分析器显示系统在“程序集加载或卸载”中花费了近 30% 的时间,命中数为 65。关于如何优化“程序集加载或卸载”时间的任何想法?我的 ASP.Net 应用程序包含近 10 个 project\dll 引用。asp.net 应用程序还将经常使用的数据缓存到 xml 文件中并读取缓存的数据。

0 投票
2 回答
744 浏览

c# - 从 .NET 程序中获取全局根

我最近开始使用 ANTS 分析工具进行生产工作。除了对它们的出色表现感到惊讶之外,我不禁想知道它们是如何工作的。例如,最有用的功能之一是让您可视化正在运行的程序的全局根,其中包含对不同类型值的引用数量。

这个工具如何获取这些信息?

0 投票
4 回答
2889 浏览

.net - 为什么 GetMessageW 会在我的 WPF 应用程序中占用大量 CPU 使用率?

我手上有一个严重的挠头。我正在调查我们应用程序中 WPF 组件的性能问题。

我们的 .net 应用程序非常大,而且几乎完全采用 Windows 形式。作为一项新计划的一部分,我们使用丰富的 WPF ui 重写了我们的核心组件之一。有很多 WinForms<-->WPF 互操作与这个东西粘合在一起,我怀疑这可能与我所看到的有关。

当我在 ANTS 分析器中分析缓慢的操作时,我看到函数 UnsafeNativeMethods.IntGetMessageW 内部发生了很多活动。ANTS 报告的 CPU 活动与我们所有的业务逻辑和 wpf 渲染内容的组合一样多。该函数没有使用循环的托管代码下线,因此无论 IntGetMessageW 正在做什么,这就是我所追求的。

我不是特别精通 win32 编程,但我知道在这种情况下消息循环的基础知识。不过,我在这里看到的都不是我们手动执行的任何操作——在我们的代码中,我们没有直接与底层消息循环本身进行交互,也没有与任何可以在 WPF 调度程序上访问的更复杂的东西进行交互。

我们这里讨论的 WPF 组件是继承自 Window 编写的(即,它不仅仅是一个控件/用户控件),我们使用 ShowDialog 来展示它,该逻辑是在我们用于在该组件的旧 WinForms 版本上调用 ShowDialog 的更高级别逻辑之外的。我们在 WPF 组件内部使用了一些 WindowsFormsIntegrationHost 控件,以保持与我们现有的一些无法在 WPF 中重写的部分的兼容性。

我已经研究了好几天了,但从来没有发现很多事情要做。我一直在寻找有关输入消息(鼠标和键盘)的模糊相关帖子,但我不知道我能做些什么来验证这一点;我已经尝试过删除代码以删除我可以进行的所有鼠标/键盘操作。

我很难到达任何地方,主要是因为这行代码是完全隔离的(不是我可以指出实际上来自我们的代码的任何东西的父或子),并且对于它正在做什么完全不透明。

这是 ShowDialog 函数的 ANTS 调用图的图像,显​​示了到达此处的调用路径: 替代文字

我完全意识到这可能只是作为 WPF 的一部分必须完成的事情(尽管我们在 WPF 中编写的其他组件不会显示这种行为),或者这只是 ANTS 探查器中的一个非常奇怪的错误,但在这一点我需要以一种或另一种方式验证它。如果有人能告诉我这里正在发生或可能发生的事情——或者给我指出一些我自己能够弄清楚的方法,我会按照你的方式引导各种善业。

更新:针对下面的一些讨论,这是 ANTS 的另一种观点——这个观点更好地说明了我的困惑(这是“CPU 时间”模式下的 ANTS 视图)。我匆忙审查了我们的部分代码,但没有一个与系统相关的功能:

替代文字

感谢您的关注!

0 投票
2 回答
1985 浏览

c# - ASP.Net CPU 100%

我有一个相当大且复杂的 ASP.Net 应用程序,它使用 ASP.Net / C# 3.5 / SQL Server 2005 / LINQ to SQL。当单个用户使用系统时,它运行得非常快,但是一旦我们开始有六个用户同时提交它,CPU 就会达到 100%。我已经尽可能多地调整了应用程序,我知道如何使用 ANTS Profiler 并找到代码中的弱点,但是分析器指出,超过 2/3 的 CPU 使用率是在转换来管理代码......有没有人有关于如何解决这个问题的任何提示?

0 投票
1 回答
1081 浏览

c# - Ants Profiler 未显示结果

我正在使用蚂蚁探查器来查看性能问题。我已经在发布模式下编译了我的 Windows 应用程序并启动了 Ants 分析器,但是一旦我单击停止分析器,我就看不到任何结果。有什么需要做的吗?

0 投票
1 回答
855 浏览

.net - .NET MVC 内存分析问题

我正在研究 ASP.NET MVC Web 应用程序的内存使用情况。对于我的研究,我在 Virtualbox 4.1 中使用带有 IIS 6.1 的 Windows Server 2008 R2 和 SQL Server 2008 R2。我选择使用虚拟服务器,因为它不是在实时服务器上测试的选项。对于分析,我使用的是 ANTS Memory Profiler 7.0。一开始我想知道为什么即使是最简单的网站也已经使用了大约 30 - 40mb。

例如,我正在使用“我的 MVC 应用程序”网站,这是 Visual Studio 中的教程网站,但同样的概念适用于我分析的所有网站。当我在空闲状态下在网站上运行 ant profiler 时,我得到以下摘要:

Generation 1: 26kb
Generation 2: 2100kb
Large object heap: 240kb
Unused memory allocated to .NET: 3265kb
Unmanaged: 20890kb

现在,我想知道非托管块中有哪些信息?有什么方法可以让我找出并降低这个块的大小吗?

此外,还有 7000 个字符串对象,在空闲模式下总共占内存约 600k。所有这些字符串是从哪里来的?我希望你能给我一些关于这些问题的信息。

0 投票
1 回答
1187 浏览

asp.net - 使用 Red-Gate Ants Profiler 6.3 分析 ASP.NET 站点

我有一个 asp.net 网站,我正在尝试使用 Ants Profiler 6.3 进行分析,但我遇到了一些问题。我无法使用原始端口或自定义端口从 IIS 配置文件。IE 会打开,然后显示一个页面,说 Internet Explorer 无法显示该页面,然后分析器会说分析完成。我可以去网址就好了。

当我附加到 wp3.exe 进程时,我得到了一些结果,但与我的代码无关。我必须从 IIS 运行站点,我无法分析单个页面,因为物理页面不存在。

那我该如何分析一个网站呢?如何告诉 Ants 源代码在哪里?IIS 直接指向站点的根文件夹。

  • 蚂蚁探查器 6.3
  • IIS 7.5
  • .NET 4.0
0 投票
4 回答
1765 浏览

.net - 如何在我们的测试项目上运行内存分析器?

全部,

我们的测试项目有问题抛出 OOM 异常,我怀疑问题出在我们身上。我们以某种方式持有引用,并且永远不会释放内存。

所以,我想运行一个内存分析器,看看这是在哪里发生的。

设置分析器工具很简单,只需将工具指向 nunit-console.exe 并运行我们的测试项目并拍摄一些快照。

不幸的是,这不起作用。我已经尝试了 SciTech 和演示的 ANTS,并且都高兴地报告说 NUnit 控制台程序集/appdomain/whatever 没有增长。伟大的。任务管理器中的进程稳步增长到 450MB,但内存分析器报告它根本没有增长。

伟大的。

我用谷歌搜索过,我看到了一些(特定于工具的)关于如何处理单元测试项目的简单说明。我已经尝试过这些东西,但它们没有用。我尝试过使用 NUnit 的 appdomain/assembly 设置,但到目前为止无济于事。

所以。

有没有人真正成功地针对测试项目(任何类型的——我们使用 NUnit,但我敢打赌它对于任何 .NET 自动化测试框架都是一样的)运行内存分析器?对于任何 .NET 测试框架?如果是这样,哪些说明对您有用?