如果我有一个包含一些 Web 服务器(Windows 2003 和 IIS)和一个数据库(SQL Server 2005)和 ASP.net 的基础设施,我想知道是否有一个包罗万象的工具可以让我说“好的,我现在打开这个页面,你告诉我在 ASP.net、IIS 和 SQL、CPU、RAM 和硬盘上发生了什么”。
当然,我可以将跟踪添加到我的 ASP.net,然后添加到我的 SQL Server,然后我必须看看如何处理 IIS(例如图像不通过 ASP.net),但我想知道是否有人有办法以简单的方式了解几乎所有内容?最好是免费的,但只要它好,它也可以花钱。
查看一起使用 SQL Server Profiler 和 Windows Server 性能监视器跟踪。SQL Server 2005 允许您将这两个文件关联在一起。 本文介绍了如何做好这一点。
除此之外,如果您在 SQL Server 连接字符串中使用application name=参数,您可以在 Profiler 跟踪中捕获它并将其用作从您的 asp.net/asp 应用程序传递信息的一种方式,例如正在执行的文件名.
您可以尝试 BMC AppSight 等商业工具,或者如果它仅基于 .Net,则可以使用 AVICode。如果您希望以便宜的方式执行此操作,IIS 日志和 Perfmon 计数器的组合将满足您的需求。
Windows 性能监视器是一个不错的选择。它将自己作为 ActiveX 控件嵌入到网页中,因此您可以打开它,它的计数器几乎可以监视服务器的各个方面(只要它可以用数字表示)。
您可以监控远程服务器,只要它运行的帐户对它们具有管理员权限。
我们通常运行以供视觉参考的计数器是:
有一堆基于 SQL 的指标(等待时间、每秒查询次数、平均查询运行时间等)我现在不方便使用,但它的报告非常灵活。与 ASP.net 相同 - 您可以让它报告单个应用程序,或对所有应用程序使用 _total 计数器。
唔。我不熟悉可以为您提供一切的工具,但您可以通过组合工具来完成此操作。
您提到了 SQL Server,因此您应该查看 SQL Profiler 来监视数据库中发生的一切。
对于通过 Http 的所有内容,您应该查看Fiddler。
CPU、RAM 和硬盘可以通过 perfmon.exe(内置于 Windows)或Process Explorer进行监控。