【发布时间】:2008-12-15 17:06:40
【问题描述】:
我正在寻找方法来跟踪应用程序中的同时用户。由于抽象用户 IP 地址的负载平衡器,我无法使用 IIS 日志。我正在寻找基于 .NET 代码的解决方案或配置项,可能带有运行状况监控,以便能够跟踪“真实”同时用户数。
我知道我可以监控会话数,但这并不是一个理想的显示方法,因为它可能会根据用户放弃会话的会话数而变得臃肿。
【问题讨论】:
标签: asp.net performance
我正在寻找方法来跟踪应用程序中的同时用户。由于抽象用户 IP 地址的负载平衡器,我无法使用 IIS 日志。我正在寻找基于 .NET 代码的解决方案或配置项,可能带有运行状况监控,以便能够跟踪“真实”同时用户数。
我知道我可以监控会话数,但这并不是一个理想的显示方法,因为它可能会根据用户放弃会话的会话数而变得臃肿。
【问题讨论】:
标签: asp.net performance
这里有一个类似的问题:Tools and methods for live-monitoring ASP.NET web applications?
我找到了一个用于调试和监控 .NET 应用程序的高级日志记录工具:SmartInspect。但我不知道它是否符合您的要求。
【讨论】:
“同时用户”是什么意思?也许您应该监视与 IIS 应用程序的同时 TCP 连接? Windows 性能监视器工具应该可以帮助您。
否则,无法确定有多少用户正在使用您的应用程序。如果您可以监控会话数,那么我建议您这样做。只需考虑会话的最后修改时间,这样您就可以获得“最后一分钟的活动会话”之类的信息。这应该会给你一个接近的测量值。
【讨论】:
最后我们决定使用 ASP.NET 性能计数器,以及来自 IIS 日志的通用信息。
我使用 Microsoft Log Parser 工具从两个来源解析了信息!
【讨论】:
您只想知道特定时间的活跃用户数?忽略非活动用户以及大多数机器人的一个简单选项是通过页面加载时的 JavaScript AJAX 调用及其 SessionID 将用户注册为活动用户。然后,您可以根据需要从日志中清除旧记录。 *请注意如何构建表的性能以进行读/写优化。 ...只是我脑海中的一个想法。
【讨论】:
我们正在使用昂贵的解决方案,即 AVICode,但它很棒。你可以用它监控很多东西。
【讨论】: