0

我们已经使用 AppDynamics APM 代理 (v4.5.2) 在 Windows 2012 上的 IIS8.0 中检测了一个 .Net 4.0 应用程序。

此服务器还安装了 McAfee Endpoint Protection v10.6.0.542 和威胁防护 v10.6.0.672。

安装了 APM 代理后,在典型负载下 CPU 会高得多(在 2 个 vCPU 上,使用代理约为 50-60%,不使用代理时为 10%)。在重负载下,应用程序也开始变得不稳定(请求开始排队和超时,响应时间变得非常长,开始出现错误)。

我们注意到,启用 McAfee 后,它会将两个 DLL 注入 w3wp 进程 - EpMPApi.dll 和 EpMPThe.dll。我们使用 Process Explorer 检查了这一点,查看了为该进程加载的 DLL。

我们运行了各种组合的性能测试:

  • 多个不同版本的 APM 代理(没有区别)
  • 代理的不同配置。我们发现排除系统库(System.dll)后,CPU 会低很多,性能可以接受,但响应时间仍然比没有代理的情况下要长。
  • 在完全禁用 McAfee 的情况下,DLL 不存在,CPU/性能与之前没有代理的测试相似 - 开销在预期/可接受的范围内。

我们尝试在 McAfee 中添加 w3wp.exe 作为异常,但是我们看到 DLL 仍然加载,并且仍然出现高 CPU 和性能不佳的情况。

在内存转储中,我们始终看到应用程序线程等待 EpMPApi.dll 使用的关键部分。它似乎与尝试建立套接字连接的应用程序有关(它经常这样做,因为所有请求都涉及对下游系统的 WCF 调用)。

我们想了解我们是否/如何将 McAfee 配置为完全排除 w3wp.exe,或者停止它正在执行的任何与 APM 代理交互不良的活动。

我们还在 APM 代理方面工作,以了解我们是否可以在那里采取任何措施来防止或解决这种行为。

谢谢!

4

0 回答 0