安装 .net 4.5 后,某些性能计数器显示错误值

Posted

技术标签:

【中文标题】安装 .net 4.5 后,某些性能计数器显示错误值【英文标题】:Some performance counters shows wrong values after installing .net 4.5 【发布时间】:2012-09-26 09:00:08 【问题描述】:

在 Windows Web Server 2008 R2 上安装 .NET 4.5 后,一些性能计数器显示错误的值。我正在使用内置的性能监视器并查看该组 用于计数器 Anonymous Requests/Sec 和 Requests Executing 的 ASP.NET Apps v4.0.30319。

在这些值反映当前负载的波动值之前,但现在它们会随着每个请求而增加,因此它们的行为更像是 Total Requests 和 Total Requests Executing。

我们已经在生产环境和内部服务器上看到了相同的行为。

你们中有人见过同样的行为吗,我在谷歌搜索时可以找到任何东西。

问候 帕特里克

【问题讨论】:

感谢您报告此问题。我可以在本地重现这个问题。 Dev 将很快对此进行调查。我会让你在这个线程上发布。同时,如果您可以提交连接错误并让我知道连接错误的 ID,那就太好了。这将使您在修复错误时获得适当的信誉。 另外,这个问题似乎只在 Windows Web 服务器 2k8 R2 版本上重现。在 Win2k8 R2 标准版上不会发生。 您好阿南德,感谢您的帮助。我已经发布了 ID:765656 的连接。我将尝试使用标准版,看看它是否也适用于我们。 嗨@Anand,我们刚刚尝试了 Win2k8 R2 标准版,但不幸的是我们看到了相同的行为。 感谢 Patrik 提供详细信息。 【参考方案1】:

现在可以修复此问题。 http://support.microsoft.com/kb/2805227 适用于 windows8 和 http://support.microsoft.com/kb/2805226 适用于 windows 7 平台。 因此不再需要以下解决方法。

此问题的解决方法是从 4.​​5 安装目录执行以下命令(例如“%systemroot%\Microsoft.Net\Framework64\v4.0.30319”)

    aspnet_regiis -u

    aspnet_regiis -I 或 aspnet_regiis -iru

【讨论】:

这适用于我们的测试服务器,将在本周晚些时候投入生产。谢谢! 警告,这将更改当前使用 .net 4 或 4.5 的所有应用程序池的 .net 版本并设置 .net 2 ! MS 修补程序,仅此 Win Server 2012 吗? 感谢 Luke 和 Rolando 的 cmets。我在我的答案中更新了 Windows8 和 Windows7 平台上的框架更新链接。仅供参考...还有一个与 .Net 4.5 相关的可用更新,它与此问题无关。(support.microsoft.com/kb/2805222 适用于 windows 8 和 support.microsoft.com/kb/2805221 适用于 windows 7 平台) 安装两个更新对我有用: 2805221 和 2805226 ,它需要重新启动!【参考方案2】:

想到的一件事是对此注册表项的权限:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\version of ASP.NET\Names 

我首先会检查这些内容并确保它们正确无误。如果您有多个版本,您甚至可以交叉检查/比较设置(即,如果 2.0 仍然可以正常工作)..

【讨论】:

以上是关于安装 .net 4.5 后,某些性能计数器显示错误值的主要内容,如果未能解决你的问题,请参考以下文章

升级到 .NET 4.5 后获取 AddressAlreadyInUseException

c# 垃圾回收。 .NET CLR 内存性能计数器显示 0 代表 gen 0 堆大小等。这是啥意思?

当 ReadOnly=false 时,性能计数器显示不同的值

mysql 安装异常:this application requires .NET Framework(尚未安装.NET Framework 4.5 原因是:指定)

限制 ASP.NET 4.5 中 WebSocket 的性能因素?

跨应用域回收使用自定义性能计数器