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
    • 最新
    • 标签
主页 / user-16124

realMarkusSchmidt's questions

Martin Hope
realMarkusSchmidt
Asked: 2015-01-22 05:16:12 +0800 CST

为 Hyper-V 主机禁用 SpeedStep 的最佳做法?

  • 6

我正在分析一个问题,即虚拟机中受 CPU 限制的工作负载的性能通常(并非总是)远低于我们基于底层硬件的预期。

我们在 Windows Server 2012 R2 上使用 Hyper-V。该服务器具有双 Intel Xeon E5-2643 v2 @ 3.50 GHz。

以下是一些似乎相关的数字:

  • Hyper-V 管理程序逻辑处理器,% 总运行时间,实例 _Total:平均 20%
  • Hyper-V Hypervisor Virtual Processor, CPU Wait Time Per Dispatch, Instance _Total: Average 20000到另一个 VM 的逻辑 CPU;似乎转换为 2% 的开销)
  • Hyper-V 管理程序逻辑处理器,最大频率百分比,实例 _Total:平均 34%
  • CPU-Z 工具显示两个处理器的核心 #0 的大部分时间都在 1200 MHz 左右(与性能监视器报告的最大频率百分比非常匹配)

在只有几个内核的桌面上,一旦 CPU 密集型活动开始,内核速度就会立即提高。

然而,在我们的 Hyper-V 主机上,核心速度似乎只有在整体系统负载似乎高了几秒钟的情况下才会上升。现在,例如,如果您的 VM 具有总共 24 个物理 CPU 中的 4 个虚拟 CPU(启用了超线程),并且该 VM 需要 CPU 电源,并且 VM 内的任务管理器显示几乎 100% 的 CPU 使用率,大部分时间是时钟物理CPU的速度不会上升,性能很差。

显然这是不受欢迎的行为。考虑一个数据库服务器,它需要 3 倍的时间来回答查询,因为服务器没有“足够”的负载来提高 CPU 频率。这没有任何意义。

我发现一篇博客文章描述了 2011 年以来 VMWare 和 Cisco 刀片的完全相同的行为。我在其他任何地方都没有找到这方面的信息。

实际上,我可以通过切换到 Windows 中的“高性能”电源计划来摆脱这种行为powercfg.cpl,但代价是用电量增加了大约 30%。我实际上获得了更好和更一致的性能,并且性能监视器显示了更低的负载数字。

(在较旧的服务器上,我发现了一个附加设置“处理电源管理 | 最低处理器状态”,可以设置为 100% 而无需禁用所有其他省电选项。新的仅显示“系统冷却策略”,它处于“活动”状态“即使是“平衡”计划,所以我唯一的选择是选择“高性能”。)

这真的是 Hyper-V 主机的最佳实践,还是有其他解决方法?如果 SpeedStep 真的是个问题,我想知道为什么他们甚至将其构建到服务器 CPU 中并默认启用它,以及为什么我从未在 Hyper-V 配置指南中阅读过有关此设置的信息?

hyper-v
  • 3 个回答
  • 13153 Views
Martin Hope
realMarkusSchmidt
Asked: 2009-08-29 04:15:28 +0800 CST

SQL Server 文件增长极慢

  • 1

我有一个大小约为 100 GB 的数据库,但我在扩展数据库大小时遇到​​了严重的问题。这是我的设置:

  • SQL Server 2005,版本 9.0.4035
  • 操作系统:Windows Server 2003 SP2 x86
  • 在 Hyper-V 上作为来宾运行
  • 不同磁盘上的数据文件和日志文件(虚拟和物理)
  • MDF 文件的磁盘为 500 GB,上面没有其他内容,因此没有碎片问题等。

起初,我有 10% 的自动增长的默认设置。当数据库大约 30 GB 左右时,它开始因超时而失败,所以我将其更改为 1000 MB。现在即使这样也失败了,所以我尝试手动增加文件大小。我不得不取消我的尝试,因为它们“从未”完成,直到我下降到增加50 MB,这需要22 分钟!:-o 有些东西必须严重损坏...

我一直在监控所有磁盘(系统、数据和日志)的平均磁盘队列长度,除了保存日志文件的磁盘之外,它们都是空闲的,这个磁盘队列长度总是超过 10。在此操作之前和之后它也很空闲。

这是我用来手动增加文件大小的命令(我在初始大小上增加了 50 MB):

ALTER DATABASE [MyDB] MODIFY FILE ( NAME = N'MyDB', SIZE = 103987200KB , FILEGROWTH = 51200KB )

编辑:当我几个月前创建这个数据库时,我用 10 GB 初始化它,我不记得我有任何明显的延迟。例如,我还可以使用 2 或 3 GB 恢复此服务器上的其他数据库,它工作正常。这台机器上的 I/O 性能并不优越,但远没有那么差。

有任何想法吗?非常感谢您!

sql-server-2005
  • 3 个回答
  • 2860 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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