监视和优化性能
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例
监视数据库的目的是评估服务器的性能。 有效监视包括定期拍摄当前性能的快照来隔离导致问题的进程,以及连续收集数据来跟踪性能趋势。
日常数据库性能评估有助于使响应时间最小化并使吞吐量最大化,从而实现最佳性能。 有效网络流量、磁盘 I/O 和 CPU 使用率是实现最佳性能的关键。 您需要透彻地分析应用程序要求,了解数据的逻辑结构和物理结构,评估数据库使用情况,并协商使用 [如联机事务处理 (OLTP) 与决策支持] 冲突之间的平衡措施。
监视和优化数据库性能
Microsoft SQL Server 和 Microsoft Windows 操作系统提供实用工具,以便查看数据库的当前状态并跟踪性能的状态变化。 可使用多种工具和技术来监视 Microsoft SQL Server。 监视 SQL Server 有助于你:
确定是否可以提高性能。 例如,通过监视常用查询的响应时间,可以确定是否需要更改表的查询或索引。
评估用户活动。 例如,通过监视尝试连接到 SQL Server 实例的用户,可以确定安全设置是否充分以及是否需要测试应用程序或开发系统。 例如,通过在执行 SQL 查询时对其进行监视,可以确定这些查询是否编写正确并生成预期的结果。
解决问题或调试应用程序组件(如存储过程)。
动态环境中的监视
更改条件会导致性能发生变化。 在评估中,您可以看到性能会随着用户数量增加、用户访问和连接方法改变、数据库内容增加、客户端应用程序改变、应用程序中的数据变化、查询变得更加复杂以及网络流量上升而变化。 通过使用工具来监视性能,帮助你将性能的变化与条件和复杂查询的变化相关联。 示例:
通过监视常用查询的响应时间,可以确定是否需要更改查询或执行查询的表上的索引。
通过在执行 Transact-SQL 查询时对其进行监视,可以确定这些查询是否编写正确并生成预期的结果。
通过监视试图连接到 SQL Server 实例的用户,可以确定安全设置是否得当并测试应用程序或开发系统。
响应时间是指以可视确认信息(指出正在处理查询)的形式将结果集的首行返回给用户所需的时间。 吞吐量是指在一段给定时间内,服务器处理的查询总数。
随着用户数量的增加,对服务器资源的竞争也会更激烈,进而导致响应时间增加和总体吞吐量减少。
监视和性能优化任务
主题 | 任务 |
---|---|
监视 SQL Server 组件 | 监视任何 SQL Server 组件所需的步骤,如活动监视器、扩展事件、动态管理视图和函数等。 |
性能监视和优化工具 | 列出随 SQL Server 提供的监视和优化工具,如实时查询统计信息和数据库引擎优化顾问。 |
使用查询优化助手升级数据库 | 升级到更新的数据库兼容级别期间保持工作负荷性能稳定性。 |
使用查询存储来监视性能 | 使用查询存储将自动捕获查询、计划和运行时统计信息的历史记录,并保留它们以供查阅。 |
建立性能基线 | 如何建立性能基线。 |
隔离性能问题 | 隔离数据库性能问题。 |
识别瓶颈 | 监视和跟踪服务器性能,以发现瓶颈。 |
使用 DMV 来确定视图的使用情况统计信息和性能 | 本文介绍了一些方法和脚本,用于获取查询性能的相关信息。 |
服务器性能和活动监视 | 使用 SQL Server 和 Windows 性能和活动监视工具。 |
监视资源使用情况 | 使用系统监视器(也称为 perfmon)通过性能计数器来度量 SQL Server 的性能。 |