2008-12-19 71 views
3

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

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

有没有其他人从perf mon中体验过这种奇怪的行为?关于如何获得准确的阅读的任何想法?

更新:运行了大约一小时后,活动会话的数量减少了4个。所以它似乎对会话超时做出响应。

回答

9

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

+0

这就是我的意思...反向溢出。 :-) – 2008-12-19 18:21:33

+0

这听起来很合理,但我在测试服务器上复制该场景时遇到了问题。 – TGnat 2008-12-19 18:48:12

9

那么,2^32 = 4,294,967,296,所以听起来像是发生了某种溢出。不能确切地说明原因。

1

我也表现出很高的数字,目前是4,294,967,268。

每次我放弃一个Session时,Sessions被抛弃的次数会增加1,而Sessions Active的次数会减少1次。目前我的被放弃的会话次数= 16,所以这个数字可能是从4,294,967,84开始的。

有没有解决这个问题?

+1

您是否看到Dean对此可能的修补程序的链接? http://support.microsoft.com/kb/969722 – 2009-09-01 13:45:35

8

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

更新9/10/2009:我们的IT部门联系微软的修补程序。它解决了我们的问题。如果有任何问题,我们正在运行.NET 2.0。

1

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

观察计数器多一点,我发现,每当应用程序重新启动 - 在没有流量的一段时间后,计数器将从零开始正确运行。当用户开始登录时,它会很好地增加。当他们再次开始注销时,它仍然正常递减,直到它达到应该为零的值。在这一点上它去香蕉...

唉...

1

如果你必须使用你现有的统计数据,我打开日志文件在Excel和使用的配方,带来更准确的值。我不能保证其准确性,但结果却看行不行:

如果B2是(的aspnet_wp)\活动会话值和公式坐在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) 

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