本文介绍 Web 应用程序性能数据收集器。
原始产品版本: Internet Information Services 8.0
原始 KB 数: 2839613
总结
此诊断包用于收集数据,以帮助排查 Web 应用程序中性能缓慢的问题。 本文介绍运行 SDP 包的说明以及运行 Web 应用程序性能数据收集器时可能来自计算机的信息。
要运行此 SDP,应在要执行此 SDP 包的服务器上预安装调试诊断 1.2 和Microsoft网络监视器 3.4 工具。 如果未安装这些工具,SDP 会提供一条消息,其中包含用于下载工具的链接。
仅在问题发生时在服务器上执行此 SDP,因为它从服务器收集诊断信息,这有助于解决问题。
详细信息
运行 Web 应用程序性能数据收集器 SDP 时,会显示一个选项来选择运行 Web 应用程序的主机进程。 对于 IIS 托管的 Web 应用程序,最好在此向导中选择应用程序池选项。 如果要在自承载进程中托管 WCF 服务,请选择“进程”选项,如果服务作为窗口服务运行,则选择“Windows 服务”选项。 SDP 包会占用你在此选项中选择的进程的内存转储。
如果在 SDP 中选择了应用程序池选项,则会收到当前正在运行的 Web 应用程序池的列表,可以选择遇到问题的应用程序池。 还可以在此窗口中多选多个应用程序池。
点击“下一步”后,SDP 将检测在所选应用程序池中运行的所有网站,并检查是否在这些网站的 IIS 日志中启用了耗时字段。 如果未启用耗时字段,则 SDP 将启用 IIS 日志中提交的时间。 发布后,SDP 会询问要为有问题的进程收集的内存转储数。 默认情况下,选项 3 处于选定状态,它会收集三个或多个内存转储,以排查响应缓慢或挂起进程的问题。
选择要收集的转储数后,SDP 会询问内存转储收集之间的间隔时间。 此步骤很重要,选择此选项取决于你面临的症状。 例如,如果请求的加载时间超过 2 分钟,那么您可以将持续时间设为 30 秒,这样 SDP 就能每隔 30 秒收集一次转储。 对于较小的延迟,应选择较少的持续时间。
配置内存转储选项后,SDP 会询问您是否要收集计算机的 PERFVIEW 跟踪数据。 PERFVIEW 是用于诊断 .NET 应用程序中性能缓慢、CPU 高和内存相关问题的工具,SDP 可以在以下对话框中指定的持续时间内收集 PERFVIEW 跟踪。 只有在 Windows Server 2008 及更高版本上运行此 SDP,并且仅在运行 SDP 的服务器上安装了 .NET Framework 4.0 时,才获得此选项。
至此,你已将 SDP 配置为按所需方式在计算机上运行它,一旦点击 NEXT,包就会启动网络跟踪、包含相关 IIS 和 WCF 计数器的 PERFMON 日志、IIS 和 ASP.NET 提供程序的 ETW 跟踪。 当您点击下面屏幕上的“下一步”按钮时,将启动所有这些跟踪。因此,重要的是要么问题正在发生,要么在点击“下一步”后您应该准备好重现该问题。 本文介绍运行 Web 应用程序性能数据收集器时可能从计算机收集的信息。
启动所有相关跟踪后,SDP 会在开始收集内存转储之前提供另一个对话框。 在以下对话框中点击 NEXT 时,SDP 将开始收集所配置进程的内存转储。 收集内存转储后,SDP 会在服务器上启动 PERFVIEW 跟踪,并在前面对话框中指定的持续时间内收集它。
内存收集完成后,SDP 将启动 PERFVIEW 跟踪,并在你在 SDP 包中指定的时间段内等待。
收集 PERFVIEW 跟踪后,SDP 将开始压缩到目前为止收集的所有数据,最终会尝试合并 PERFVIEW 收集的各种 ETW 跟踪。 如果 PERFVIEW 工具收集的数据太大,此过程可能需要几分钟才能运行。 如果您选择的应用程序池中运行的任何网站启用了 SDP 打包的耗时字段,则会为所有这些网站显示一个对话框,您可以选择是否保持启用耗时字段,或者如果需要,您可以禁用耗时字段。
收集的信息
操作系统
说明 计算机名称 操作系统名称 构建 时区/时间偏移 上次重新启动/运行时间 用户帐户控制 用户名 计算机系统
说明 计算机模型 处理器 机器领域 角色 RAM (物理) 诊断日志
说明 文件名 DebugDiag 日志 {Computername}_DebugDiag_Logs.cab ETW 日志 {Computername}_IISEtwLogFiles.cab DebugDiag 转储 {Computername}SDPHangDumps{Date}_{Time}.zip Perfmon 日志 {Computername}_IISPerfmonLogFiles.cab NETMON 日志 {Computername}_IISNetmonLogFiles.cab Perfview 日志 {Computername}_ PerfViewLogFiles.cab IIS 日志文件
说明 文件名 Http 错误日志 {Computername}_HttpErrorLogs.zip IIS 日志文件 {Computername}_IISLogs.zip 网络信息
说明 文件名 TCP/IP 基本信息 {Computername}_TcpIp-Info.txt SMB 基本信息 `{Computername}_SMB-Info.txt`
除了收集上述信息外,此诊断包还可以检测以下一个或多个症状:
检测当前版本的strmfilt.dll
其他信息。
此 SDP 启用大量诊断日志记录,如果用户单击“取消”,则所有日志记录都将保持打开,并且用户必须手动停止此日志记录。 应遵循这些步骤来停止此 SDP 包打开的日志记录。
若要停止 ETW 跟踪,请以提升权限的命令提示符运行以下命令
Logman.exe stop "IIS ETW SDP Trace" -ets
在网络监视器捕获的命令窗口中点击
CTRL+C
以停止网络监视器跟踪。通过从管理工具打开性能监视器来停止性能监视器日志记录,并在数据收集器集下面的 User-Defined 节点下停止名为 IIS_SDP_HANG 的数据收集器集。
参考
有关Microsoft自动故障排除服务和支持诊断平台的详细信息,请参阅 Microsoft自动化故障排除服务和支持诊断平台的信息。