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 / 问题 / 71940
Accepted
Roy
Roy
Asked: 2009-10-07 13:46:30 +0800 CST2009-10-07 13:46:30 +0800 CST 2009-10-07 13:46:30 +0800 CST

XenServer 5.5 中软件 raid 5 的性能

  • 772

关于 XenServer 5.5 下的软件 RAID 性能,有没有人有实际经验可以分享?

我最近从 Ubuntu 上的 VMware Server 1.x 迁移到 XenServer 5.5,希望通过利用半虚拟化技术来提高性能。不幸的是,我在 md 类型的软件突袭中看到了非常低的性能。

虽然 XenServer 主机看到的数字超过 100 MB/s,但半虚拟化客户机无法获得超过 20 MB/s 的速度。

这是意料之中的,还是我应该在我的配置中寻找问题?

编辑>

我意识到软件raid 在虚拟主机上并不理想,但对于家庭实验室,我无法证明真正的硬件raid 控制器是合理的,但我仍然需要某种程度的存储冗余。

主机未显示高 CPU 使用率、系统负载甚至过多的 I/O 等待周期。这与 VMware Server 1.x 提供至少两倍的 I/O 性能这一事实相结合,表明半虚拟化肯定存在一些问题。可能是由于我的硬件缺少某些功能。

由于 XenServer 的完整硬件虚拟化并不是那么好,我想我会回到 Ubuntu 上的 VMware Server,让我有机会尝试新的 2.x 版本。

performance
  • 4 4 个回答
  • 6309 Views

4 个回答

  • Voted
  1. Best Answer
    user23312
    2009-10-20T00:13:22+08:002009-10-20T00:13:22+08:00

    Linux 软件raid 非常好,它击败了低端raid 控制器,并且通常可以匹配中端控制器的性能。
    我最近对几种虚拟化技术进行了一些性能测试。Xen VM(xenserver 5.5)中的磁盘 i/o 性能损失约为 70%。我使用了 iozone 来测试 10 多种读/写模式。该机器在软件 raid1 中有 2 个 160G sata-II 驱动器。请注意,70% 的速度损失可能会因磁盘操作的类型而异。
    您可以在 Xenserver 中做的一件事是在某些存储资源上设置更高或更低的优先级(单击周围,应该在其中),这有助于一些 i/o 密集型 VM。但仅此而已 - 你想要虚拟机,你必须付出代价:)

    如果您想使用容器在 linux 主机中运行 linux vms,将会获得更好的性能。例如,OpenVZ 磁盘 i/o 性能损失约为 7%。

    • 2
  2. Mark Henderson
    2009-10-07T15:58:24+08:002009-10-07T15:58:24+08:00

    在这个问题上,我不同意 tptech。

    软件 RAID 还不错。尤其是其在 Linux 和 Windows Server 操作系统中的开发非常成熟。

    事实上,软件 RAID 可以提供比 el-cheapo RAID 控制器更好的性能,因为便宜的 RAID 控制器无论如何都会使用您的 CPU 进行奇偶校验计算。

    反驳 tptech:

    • 硬盘驱动器足够慢,RAID 增加了开销。

    当然。但这适用于任何 RAID,而不仅仅是软件 RAID。这也不适用于 RAID10,因为您可以获得 100% 冗余的条带化的好处。

    • 您的虚拟化环境在 VM 之间共享 CPU 和 I/O,而软件 RAID 正在窃取 CPU 和 I/O 周期。

    这是真的,对于具有非常 I/O 繁重的 VM 的主机来说,这将是一个问题。但是,如果您的 VM 的 I/O 非常繁重,那么 VM 可能无论如何都不是适合他们的地方,或者他们应该可以访问 SAN(一起讨论软件 RAID)。

    事实是,仅主机就获得了 100MB/s 的带宽,只有 VM 受到影响,而且我看不出拥有软件 RAID 会导致性能下降到其主机的 1/5,因为请求来自虚拟机而不是主机。

    我建议它可能是 VM 配置中的某些东西,甚至可能是来宾机器。还值得一提的是,如果您的主机 CPU 或客户操作系统不支持半虚拟化,则会导致性能下降。并非所有客人都支持它,AFAIK 没有 64 位客人内核支持它。

    • 1
  3. David Spillett
    2009-10-20T01:30:33+08:002009-10-20T01:30:33+08:00

    我没有使用 Xen 的经验,但我怀疑您看到的性能问题不是直接由于 RAID 安排造成的。您是否有可以复制 VM 以重新运行性能测试以比较结果的非 RAID 卷?

    如果您正在专门测试写入性能,那么 VMWare Server 中有一个选项可以解释它与 Xen 之间的区别,即您可以向 VMWare Server 指定它应该让主机操作系统缓存磁盘访问,因为它认为合适,而不是坚持客户操作系统认为是物理写入的所有写入都是同步执行的。启用此选项后,您通常会看到 VM 中的写入性能有所提高,有时会大幅提高,但如果发生断电或导致虚拟机管理程序毫不客气地停止 VM 的某些错误,则 VM 文件系统损坏的风险更大。具有 Xen 特定知识的人可能会告诉您它在该领域的默认行为方式(以及是否可以调整它们的行为)。

    另一个可能的问题(我在这里说“可能”,因为我只是在猜测)解释一个区别是,即使 guestls 写入同步传送到主机 IO 堆栈(因此它们在 IO 调用之前从缓存发送到磁盘返回到 VM 的操作系统),VMWare 服务器访问 vdisk 文件的方式允许它们的内容保存在来宾操作系统的缓存和缓冲区中,如果主机有大量可用于缓存+缓冲区的 RAM,则减少对物理 IO 操作的需求. Xen 的安排可能并非如此,尽管您需要与比我更了解 Xen 细节的人核实一下。

    补充想法:

    要检查的另一件事:来宾内核如何访问虚拟设备?如果它在 PIO 模式下运行,而不是使用 DMA 或 UDMA 访问设备,那么它会咀嚼比每次写入操作所需更多的 CPU 周期,即使 I/O 操作转换为基于 DMA 也会产生明显的影响当他们到达物理设备时。

    • 1
  4. tplive
    2009-10-07T13:56:20+08:002009-10-07T13:56:20+08:00

    软件 RAID 的一个词 - 不要使用它。嗯,其实就是三个字。但你明白我的意思。

    • 硬盘驱动器足够慢,RAID 增加了开销。
    • 您的虚拟化环境在 VM 之间共享 CPU 和 I/O,而软件 RAID 正在窃取 CPU 和 I/O 周期。

    一个好的 RAID 硬件控制器可以通过从 CPU 卸载 RAID 计算和缓冲磁盘 I/O 来多次提高性能 - 然后添加到 RAID 的磁盘驱动器越多,您(通常)获得的性能就越好!

    • 0

相关问题

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • jvm性能调优技巧/资源?

  • 加快 MSSQL 快照复制到 SQLExpress 副本的速度

  • 聚集索引与非聚集索引?

  • 使用大量 javascript 的页面上的鱿鱼速度很慢

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