AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 24641
In Process
Rob Bell
Rob Bell
Asked: 2009-06-13 02:29:26 +0800 CST2009-06-13 02:29:26 +0800 CST 2009-06-13 02:29:26 +0800 CST

SQL Server 速度慢但 CPU 正常

  • 772

我们在使用虚拟服务器上托管的 SQL Server 时遇到了一些问题。我们偶尔会有很短的时间,即使执行一个简单的选择也需要几分钟。在此期间,服务器上的 CPU 和内存使用率似乎正常。我们已经使用性能监视器对服务器进行了一些基本的监控,但这并没有发现任何东西,而且我们没有想法。诊断问题的下一步是什么?

编辑:

我们在服务器上看到的问题的唯一迹象是事件日志消息,通知我们“SQL Server 遇到了 x 次 I/O 请求的发生时间超过 15 秒才能完成”

virtualization windows sql-server performance
  • 7 7 个回答
  • 9081 Views

7 个回答

  • Voted
  1. Martin M.
    2009-06-13T04:59:41+08:002009-06-13T04:59:41+08:00

    对我来说听起来像是一个典型的 I/O 问题(嗯,哦,那是你已经发布的):)

    我通常不做 Windows,但基本问题是一样的:

    • 它是随机发生还是在特定时间发生
      • 您是否在指定时间运行备份
      • 有批处理作业吗
      • 是否有任何您不知道的批处理作业(是的,请仔细检查,可能是一些男人/女孩以某种自动方式从客户那里提交“批处理作业”)
      • 一些营销/开发人员运行需要遍历整个磁盘的令人讨厌的查询
      • 这需要相当长的时间,因此这些人通常会在查询完成并启动另一个客户端之前杀死他们的客户端,从而创建更多的 I/O
    • 你的磁盘健康吗?
    • 机器上是否正在运行任何其他 I/O 绑定服务
    • 联网?(根据错误消息,这应该不是问题,但墨菲从不睡觉)
    • 服务器使用情况的历史数据是什么?
    • 文件系统是否已满?
    • 是否有人(有意或无意)重新安排了优先级?
    • 3
  2. John Rennie
    2009-06-13T02:40:41+08:002009-06-13T02:40:41+08:00

    那么减速必须是CPU或磁盘瓶颈,或者某种超时,例如等待不可用的网络资源。你提到 CPU 很好,你检查过 PerfMon 平均磁盘队列长度和磁盘字节/秒吗?事件日志中是否有任何相关错误?

    FWIW 我有几个 SQL2005(标准和工作组)服务器在 Hyper-V 虚拟机上运行,​​它们工作得很好,所以没有固有的问题。

    JR

    • 2
  3. David Spillett
    2009-06-13T02:42:36+08:002009-06-13T02:42:36+08:00

    最有可能的问题是此虚拟机与同一物理主机上的其他虚拟机之间的资源争用,或者主机本身存在主要活动(由于备份进程正在运行而导致大量 I/O?)。

    另一种可能性是您的虚拟服务器正忙于执行磁盘 I/O 密集型操作(其他更大或更复杂的 SQL 查询同时运行?),而您的简单选择也在尝试从磁盘读取。由于 I/O 争用而阻塞的进程不会显示为 CPU 繁忙。尽管除非您的简单选择是简单但查询多行,否则即使在这种情况下,我也不希望它花费“几分钟”,因此主机资源(可能是 I/O 带宽)争用的可能性更大。

    • 2
  4. BillMorton
    2009-06-13T04:58:34+08:002009-06-13T04:58:34+08:00

    如果有任何东西使 SQL 变慢,那就是磁盘速度慢,或者没有正确对齐分区。我在带有 Equallogic SAN 磁盘的 VM 内运行 SQL 2008 实例,它的性能优于我们的任何物理 SQL 盒。

    • 1
  5. pauska
    2009-06-13T02:34:47+08:002009-06-13T02:34:47+08:00

    如果虚拟服务器根本没有指示任何问题,则可能是主机服务器有问题。这些问题经常出现在人们在每个虚拟服务器上放置太多虚拟 CPU 的地方,它增加了阻塞物理主机 CPU 的机会。

    • 0
  6. Joel Mansford
    2009-06-13T03:37:22+08:002009-06-13T03:37:22+08:00

    我想答案已经在其他响应之一中。然而,运行 EXEC sp_Who2 并确保您的“简单查询”不会被某种长时间运行的更新或类似的东西阻塞也是值得的。

    我之前被 MS Access 链接表所吸引,这些表有一些可怕的锁定习惯。

    • 0
  7. Jeff Hengesbach
    2009-06-13T04:48:19+08:002009-06-13T04:48:19+08:00

    告诉我们更多有关支持您的主机/sql vm(本地、iscsi(hw/sw)、nfs、san、sas、sata、供应商等)的存储的信息?从您最近的评论来看,这听起来像是更仔细检查的好方法。

    让我们知道您的管理程序(以及可能的主机操作系统)是什么,以便人们可以更直接地谈论您的情况。

    • 0

相关问题

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 在 SQL Server 中,何时应将 PRIMARY Data FileGroup 拆分为辅助数据文件?

  • 如何从 SQL Server 2008 中的备份中排除索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve