性能监视器显示4294967293个会话处于活动状态

时间:2008-12-19 16:24:21

标签: asp.net windows-server-2003 perfmon

我在Windows Server 2003 R2上的IIS 6中运行了一个ASP.Net 3.5网站。它是一个相对较小的内部应用程序,在任何给定时间可能少于十个用户。该服务器具有4千兆内存,并显示该站点处于活动状态时可以使用3 + Gig。

重新启动Web应用程序后几分钟性能监视器显示有活跃的4,294,967,293个会话!我相当肯定这个数字是不正确的;在这次阅读时,只有100个网站请求。

有没有其他人经历过这种奇怪的行为?关于如何获得准确读数的任何想法?

更新:运行大约一个小时后,活动会话数减少了4.所以它确实响应了会话超时。

6 个答案:

答案 0 :(得分:9)

嗯,2 ^ 32 = 4,294,967,296,所以听起来有些溢出现象。不能确切地说出原因。

答案 1 :(得分:9)

可能是溢出,但我的钱在下跌。我认为该程序以0人开始,有人注销,然后会话数量变为负数。

答案 2 :(得分:8)

我们遇到同样的问题。看起来MS有一个可用的修补程序:http://support.microsoft.com/kb/969722

2009年9月9日更新:我们的IT部门与MS联系以获取Hotfix。它解决了我们的问题。如果重要的话,我们正在运行.NET 2.0。

答案 3 :(得分:1)

我也显示了一个很高的数字,目前是4,294,967,268。

每次我放弃会话时,会话放弃计数增加1,会话活动计数减少1.目前我的被遗弃会话数= 16,所以这个数字可能从4,294,967,84开始。

这是否有解决方法?

答案 4 :(得分:1)

我的计数器工作正常,但有一天早上我远程登录到生产服务器,计数器就在这个巨大的数字上(正如有人提到的非常接近2 ^ 32表示下溢)。但是,与前一天工作的唯一区别在于,在夜间,Windows已经安装了更新。 因此,由于某种原因,这些更新导致了这个非常恼人的错误。

更多地观察计数器,我发现每当应用程序重新启动时 - 经过一段时间没有流量,计数器在零开始正确。当用户开始登录时,它会正常增加。当他们再次开始注销时,它仍然会减少,直到它达到应该为零。那时它是香蕉......

唉...

答案 5 :(得分:1)

如果必须使用现有统计信息,我在Excel中打开日志文件并使用公式来获得更准确的值。我无法保证其准确性,但结果确实看起来没问题:

如果B2是(aspnet_wp)\ Sessions Active值,并且公式位于C2

/* This one is quicker as it doesn't have to do the extra calculations */
=IF(B2>1073741824,4294967296-B2,B2)

或者

/* This one is clearer what is going on */
=IF(B2>power(2,30),(4*power(2,30))-B2,B2)

P.S。 (我感觉到你的痛苦 - 我必须解释为什么他们开了42亿次会议,而早些时候他们有0次!)

相关问题