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 / 问题 / 647302
Accepted
David Tinker
David Tinker
Asked: 2014-11-27 08:14:24 +0800 CST2014-11-27 08:14:24 +0800 CST 2014-11-27 08:14:24 +0800 CST

在 Ubuntu 14.04 机器上,软件 RAID 10 并不比软件 RAID 5 快,为什么?

  • 772

我们正在使用 4 x 240 GB SSD 磁盘的新数据库服务器上进行一些测试。从我读到的内容来看,RAID 10 应该比 RAID 5 更快,具有相同的“一个磁盘丢失正常”冗余。

然而,当使用 bonnie++ 进行测试时,似乎 RAID 10 并不比 RAID 5 快。知道为什么吗?

  • 4 个 240GB SSD 磁盘,软件 RAID,Ubuntu 14.04
  • 英特尔® 至强® E5-1650 v2 六核 Ivy Bridge-E,包括。超线程技术 128 GB ECC RAM
  • http://www.hetzner.de/en/hosting/produkte_rootserver/px120ssd

RAID5(所有 4 个磁盘):

# cat /proc/mdstat
md2 : active raid5 sdd3[4] sdc3[2] sda3[0] sdb3[1]
      688730112 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        647G  1.6G  613G   1% /

# bonnie++ -d /tmp -u root

Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
db1a           252G  1113  99 474860  26 327393  16  5943  99 1192788  23 +++++ +++

Sequential write:   0.474 G/s
Sequential rewrite: 0.327 G/s
Sequential read:    1.192 G/s

RAID10:

# cat /proc/mdstat
md2 : active raid10 sdd3[3] sdc3[2] sdb3[1] sda3[0]
      459153408 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

 # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        431G  1.6G  408G   1% /

# bonnie++ -d /tmp -u root

Version  1.97       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
db1a           252G  1221  99 492972  27 323392  15  5688 100 1178194  23 +++++ +++

Sequential write:   0.492 G/s
Sequential rewrite: 0.323 G/s
Sequential read:    1.178 G/s

更新

我使用 iozone 运行了 RAID 10 测试,以查看多线程基准测试是否会在假设 bonnie++ 报告的 99%-100% CPU 可能表明存在瓶颈的情况下表现更好:

# iozone -R -i 0 -i 1 -l 12 -u 12 -r 8k -s 22G
(12 threads, 8k block size, total file size of 264G)

"  Initial write "  538817.21  0.538 G/s
"        Rewrite "  511450.04  0.511 G/s
"           Read " 1087437.45  1.087 G/s
"        Re-read " 1201127.73  1.201 G/s
"    Random read "  576435.70  0.576 G/s
"   Random write "  400612.46  0.400 G/s

结果略好于bonnie++,但也不多。

RAID 5 的 iozone 结果:

"  Initial write "  516469.10   0.516 G/s
"        Rewrite "  489970.21   0.489 G/s
"           Read " 1116074.84   1.116 G/s
"        Re-read " 1116666.97   1.116 G/s
"    Random read "  611738.43   0.611 G/s 
"   Random write "  199486.44   0.199 G/s

因此,正如答案中所解释的那样,RAID 10 随机写入性能是 RAID 5 的两倍,但所有其他统计数据都相似或稍好一些。

ubuntu
  • 2 2 个回答
  • 969 Views

2 个回答

  • Voted
  1. Best Answer
    David Schwartz
    2014-11-27T23:37:12+08:002014-11-27T23:37:12+08:00

    从我读到的内容来看,RAID 10 应该比 RAID 5 更快,具有相同的“一个磁盘丢失正常”冗余。

    我不同意。

    让我们看看读取——在这里,没有理由应该有任何区别。两者都可以让您从所有四个驱动器读取数据并使用它们的全部带宽。使用 RAID 5,除非需要,否则不会读取奇偶校验,因此没有区别。

    现在,让我们看看写入。对于 RAID 10,带宽减半,因为每次写入必须执行两次。使用 RAID 5,它并没有那么糟糕。我们必须写出奇偶校验,但只有 1/4 的数据是奇偶校验(我们每写入 3 个字节的数据,我们必须写入一个字节的奇偶校验)。所以 RAID 10 将带宽减半,RAID 5 有 33% 的损失。所以 RAID 10 在这里稍微差一点。

    为什么 RAID 10 应该更好?(假设没有设备故障。)

    • 2
  2. Halfgaar
    2014-11-27T08:42:29+08:002014-11-27T08:42:29+08:00

    我认为条带化 RAID 对 SSD 没有任何用处。条带化分布在多个磁盘头上工作,但 SSD 已经具有出色的随机访问能力。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

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