评估 Team Foundation Server 性能

更新:2007 年 11 月

可配置性能计数器和监视工具以评估 Team Foundation Server 性能。经常查看并解读这些数据可帮助评估 Team Foundation Server 部署的总体性能。此外,检查性能数据可帮助查明问题以及进行故障诊断。

Team Foundation Server 本身是一个使用 SQL Server 存储数据的 ASP.NET SQL Server 应用程序。如果您熟悉监视这种应用程序的方法,则可使用相同的方法来监视 Team Foundation Server 并评估其性能。

建立基线

每一个 Team Foundation Server 部署都有独特性。硬件、软件、用户数、项目数、用于每个项目的过程模板以及源数据和工作项的数量,这些内容的差异都会影响 Team Foundation Server 性能。为特定 Team Foundation Server 部署建立基线性能数据非常重要。这些数据将使您能够在性能出现任何重大变动时标识这些变动。此外,随着时间的推移,您能够更好地了解对于 Team Foundation Server 硬件的总体性能需求。

Team Foundation Server 基础结构的范围非常广泛。应该积极主动地确定要监视哪些内容,以及如何决定您注意到的某个值是否需要执行相应的措施。例如,可以决定当 CPU 峰值持续 10 分钟以上超过 80% 时采取措施。可以将此决定记录下来,以便项目的其他人员可以得到明确定义的阈值。如果在一个位置中收集所有这些变量和状态,您将得到有关 Team Foundation Server 环境运行状况的记录在案的信息模型。此策略也称为运行状况模型或运行状况信息。运行状况模型是定义系统状态的一组可观察条件。前面提到的示例定义了用于监视 CPU 使用率的阈值。正如此示例所示,与其说运行状况模型是科学和数学,倒不如说它是一种约定和共识。

作为 Team Foundation Server 的管理员,您必须决定监视哪些方面以及如何通过将阈值用作参照点来评估状态是否已更改。如果没有运行状况模型,也就没有了赖以衡量部署运行状况的参照点。

用于建立基线的工具

性能监视与监视日志有着很大区别。性能监视要求在指定的一段时间内观察一组特定的性能计数器。例如,您可能希望监视性能以便解决响应时间问题。如果没有有关正常下载时间的数据,那么当用户抱怨下载某个特定项目的源树时响应时间过长时,您就很难做出回应。虽然 Team Foundation Server 并不包含一组用于监视服务器性能的特定工具,但是可以使用 Windows Server 2003、Microsoft SQL Server 2005 和 .NET Framework 中可用的监视工具和选项来监视 Team Foundation Server 部署。此外,还可以创建自己的工具来监视 Team Foundation Server 性能。有关更多信息,请参见了解 Team Foundation Server 的监视工具

评估数据

日志记录数据、跟踪数据、性能监视数据和服务监视数据都需要采用不同的方法来理解和解释。首先必须了解并验证发生了某件事情。然后,如有必要,必须确定哪些措施可使系统恢复到比较正常的状态。每个部署都有其自己的过程来了解有关事实并确定操作过程。但是,任何过程都需要随着时间的推移而专心致志地工作。如果保留在监视部署以及为响应不利变动而采取的措施时所收集的数据记录,那么就可以更加轻松地开发自己的自定义响应信息。可以购买商业软件套件来帮助自己自动收集和保留这些数据。

一旦为 Team Foundation Server 部署建立了基线,就可以更好地确定 Team Foundation Server 的总体运行状况和状态。例如,如果有规律地在事件查看器中看到运行时数据库异常,则 Team Foundation 数据层服务器上可能没有足够的处理器或内存资源可用。同样,如果看到某个 Team Foundation Server 性能计数器突然下降,则您就知道除了调查 Team Foundation 应用层服务器的总体性能以外,还要针对该性能计数器调查应用程序。有关更多信息,请参见监视性能

监视版本控制性能

在监视版本控制和团队生成环境时,必须应对很多可变因素。如果能很好地了解开发周期,就可以更准确地预测要在版本控制中密切监视哪些方面。此外,如果了解了它们的限制,就可以更加主动地解决任何问题。

Team Foundation Server 包含很多用于监视版本控制的性能计数器。根据您所关注的问题的不同,下表中的计数器可能会引起您的兴趣。有关计数器的完整列表,请参见监视性能

监视 Team Foundation Build 性能

与任何工具集一样,您的部署所定义的用法千差万别。例如,单生成环境、单生成脚本的项目与多生成环境、多生成脚本的团队项目相比,其用法存在显著差别。若要有效监视 Team Foundation Build 性能,必须确定适合部署需要的监视条件。下面的列表包含您可能需要在 Team Foundation Build 中监视的某些项:

  • 执行一次生成的平均时间

  • 生成的发生次数

    例如,日常生成应每天只发生一次。

  • 一段特定时限内发生的失败生成数

  • 工作时间之外发生的生成数

  • 运行 Team Foundation Build 的服务器的标准性能条件

    例如,可监视 CPU 利用率百分比。

  • 长时间生成的平均时间

  • 成功生成的通知

下面的工具和过程可帮助您确定 Team Foundation Build 环境中的某些重要因素:

  • 通过查看 Team Foundation Build 摘要,可以确定生成失败以及完成一次生成所需的时间。有关更多信息,请参见如何:查看生成的摘要状态

  • 通过监视生成进度,可以确定哪些步骤或项导致生成过程的完成时间大于预期时间。有关更多信息,请参见如何:监视生成过程

通过接收生成通知,可以确定当前生成的状态。有关更多信息,请参见如何:接收生成通知电子邮件

请参见

概念

了解 Team Foundation Server 的监视工具

监视性能

其他资源

监视 Team Foundation Server

Team Foundation Server 疑难解答

Team Foundation 中的错误和事件消息