繁体   English   中英

Perfmon ASP.Net 应用程序“会话活动”计数器

[英]Perfmon ASP.Net Apps “Sessions Active” Counter

编辑:我们意识到我们目前正在审查的会议是在进行的,这绝对没问题。 简而言之,问题是在 inproc 计数器中报告的活动会话在交付时是否可靠? 或者它们是否因任何原因看起来比实际值高(我读过一篇关于它的文章,由于安装了 ASP.Net 3.5,它似乎在 4 亿左右,但我说的不是那么高)。

在我的工作地点,我们试图确定有多少人时不时地拥有活跃的 session,因为活跃会话的数量是激活设备的负载平衡软件的触发器。 我们正在查看 Asp.Net 应用程序“会话活动”计数器,当我们比较看起来有多少人正在浏览我们的网站与我们实际在做多少业务时,它似乎给出了一些稍微奇怪的读数。 例如,有可能只注册 1600 个活跃会话,但大约每两分钟销售一次商品,或者像今天早上一样,达到 3000 个活跃会话但每 15 分钟才进行一次销售。

完全有可能我们只是有很多潜伏者,但可以肯定的是,我想知道是否有人知道这个计数器实际上是如何得出它的数字的,以及它是否容易受到任何类型的误报行为的影响。 几个小时以来,我一直在关注性能数据,活跃的会话在 3100 和 2700 之间变化,但在这段时间里,我们已经完成了大约 10 次实际销售。 我们应该把我们只有很多浏览器当作福音吗?

好吧,假设您使用的是进程内会话状态模式,首先,我建议您切换到 SQL 服务器或 State 服务器模式,因为您似乎需要一个良好的活动会话跟踪。

正如我在您的回答中的评论中所述...

If it's in-process, if IIS app pool is recycled, IIS is reseted, or even Windows is rebooted, in any case, session won't survive, while SQL Server or State Server (or a custom one) will recover sessions after any这些动作中。

...通过使用建议的模式,您将能够编写一些 session 跟踪,例如,SQL 服务器模式将会话存储在一些可以查询的表中,以便确定实时情况。

我没有使用 State 服务器的经验,我不知道如何从中检索会话,但应该可以。

谈到 SQL 服务器模式,我可以成功地进行定期维护,这样我就可以放弃幻像会话,检查最后 X 分钟执行了一些操作的实际会话(意味着它们处于活动状态......),等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM