gpt4 book ai didi

sql - 监控 SQL 性能和负载

转载 作者:行者123 更新时间:2023-12-04 06:36:49 29 4
gpt4 key购买 nike

我有一个基于 C# 的应用程序,它在基于 SQL Server 2008 R2 的数据库实例上执行不同的操作。

这是场景:

  • 有一个 SQL 实例。
  • 有多个数据库(大约 50 个)。
  • 应用程序执行不同的操作,包括 IO 和 CPU 操作(在 SQL 服务器上)。
  • 该代码是多线程的,这意味着多个线程同时访问 SQL 实例。
  • SQL 服务器与应用程序服务器不在同一台计算机上。

  • 现在,我遇到了 SQL 成为瓶颈(IO 和 CPU)的问题,我希望能够让进程线程检查 SQL 在启动新进程之前是否“太占用”,以及太忙了,把过程推迟一段时间,稍后再检查。

    是否可以使用简单/基本 SQL 查询接收有关 SQL 实例当前负载的信息? CPU负载如使用百分比? IO 负载像磁盘 r/w 队列?

    任何帮助,将不胜感激。

    吉拉德。

    最佳答案

    性能始终是一个多方面的领域。您如何确定 SQL 是瓶颈?您是否尝试过更好的索引并优化您的查询?

    不过,要回答您的问题,查询性能监视器计数器实际上很容易,并且 SQL Server 在安装产品时会安装一堆计数器。

    转到开始菜单并运行“perfmon”,然后添加一些计数器以查看各种 SQL Server 类别甚至更基本的内存和 CPU 类别。

    从中,您可以看到要监控的计数器。您可以使用外部工具监控计数器以查看它们是否超过阈值,或者将收集到的数据写入 SQL 表、文件,甚至通过代码监控计数器。

    有关更多信息,请参阅以下帖子。

    http://blogs.msdn.com/b/granth/archive/2008/11/07/querying-perfmon-data-from-sql.aspx

    http://www.mssqltips.com/tip.asp?tip=1039

    http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/

    此外,System.Diagnostics 命名空间包含性能计数器类以通过代码监视/更改这些内容。

    关于sql - 监控 SQL 性能和负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4781021/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com