0

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

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

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

4

1 回答 1

1

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

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

如果它在进程中,如果 IIS 应用程序池被回收,IIS 被重置,甚至 Windows 被重新启动,无论如何,会话将无法生存,而 SQL Server 或状态服务器(或自定义)将在任何情况下恢复会话这些动作中。

...通过使用建议的模式,您将能够编写一些会话跟踪代码,例如,SQL Server 模式将会话存储在可以查询的某个表中,以便实时确定正在发生的事情。

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

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

于 2011-05-05T10:59:10.727 回答