我有一个大量使用 Active Directory 的应用程序。我想知道是否有办法确切地知道发送了哪些查询以及它们在服务器端花费了多少时间。
我总是可以通过 Stopwatch
测量查询过程中耗时来做一些非常基本的分析器,但它既无助于查看查询,也无助于了解是否花费了时间是服务器处理查询所花费的时间,或者是通过网络发送和接收数据或在客户端执行操作所损失的时间。
那么是否有一个类似于 SQL Server 的 Active Directory 分析器,或者 .NET Framework 中的某个东西可以获取这些数据?
最佳答案
该数据不可用 - 没有直接用于 Active Directory 的分析 API。你也许可以做的是间接地为它争取时间。如果您向正确的机器发出类似的网络请求,但您知道该机器根本没有(或最少)处理时间,那么您可以衡量网络开销的影响。
然后您可以从另一端到达它。如果您使用 Windows 事件跟踪(许多分析器不支持,但有些分析器支持,例如 ANTS Performance Profiler ),那么您可以在 AD 事件发生时对其进行跟踪,从而分离出应用程序所花费的时间从这些事件发生的时间开始。我认为,您应该拥有了解发生了什么所需的所有信息。
关于c# - 是否有用于 Active Directory 查询的分析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733113/