磁盘性能低于预期

磁盘性能低于预期

这是我之前问过的一个问题的后续问题(两台服务器的磁盘速度不一致)。

我有一台 PowerEdge R510 服务器,该服务器带有 PERC H700 集成 RAID 控制器(称为服务器 B),它使用 8 个磁盘构建,带宽为 3Gb/s,我正在与一台几乎相同的服务器(称为服务器 A)进行比较,该服务器使用 4 个磁盘构建,带宽为 6Gb/s。服务器 A 的 I/O 速率比服务器 B 好得多。

我发现磁盘的差异后,就用更快的 6Gbps 磁盘重建了服务器 A。不幸的是,这并没有提高磁盘的性能。由于预计服务器之间肯定存在其他配置差异,我们将 6Gbps 磁盘从服务器 A 中取出并放入服务器 B。这也导致磁盘的性能没有提高。

我们现在有两台相同的服务器,不同之处在于一台安装了六块 6Gbps 磁盘,另一台安装了八块 3Gbps 磁盘,磁盘的 I/O 速率几乎相同。这表明除了磁盘之外还存在其他瓶颈,但我不明白服务器 B 最初具有更好的 I/O,后来为何“丢失”了。

下面是通过 SQLIO 测量的比较 I/O 信息。每次测试都使用相同的参数。重要的不是实际数字,而是系统之间的差异。在每种情况下,D: 都是 2 磁盘 RAID 1 卷,E: 是 4 磁盘 RAID 10 卷(除了原始服务器 A,其中 E: 是 2 磁盘 RAID 0 卷)。

服务器 A(原始设置有 6Gpbs 磁盘)

D: Read (MB/s)     63 MB/s
D: Write (MB/s)    170 MB/s
E: Read (MB/s)     68 MB/s
E: Write (MB/s)    320 MB/s

服务器 B(原始设置有 3Gpbs 磁盘)

D: Read (MB/s)     52 MB/s
D: Write (MB/s)    88 MB/s
E: Read (MB/s)     112 MB/s
E: Write (MB/s)    130 MB/s

服务器 A(新设置,配备 3Gpbs 磁盘)

D: Read (MB/s)     55 MB/s
D: Write (MB/s)    85 MB/s
E: Read (MB/s)     67 MB/s
E: Write (MB/s)    180 MB/s

服务器 B(新设置,配备 6Gpbs 磁盘)

D: Read (MB/s)     61 MB/s
D: Write (MB/s)    95 MB/s
E: Read (MB/s)     69 MB/s
E: Write (MB/s)    180 MB/s

有人能提出一些关于这里发生的事情的建议吗?

使用的驱动器如下:

答案1

您需要减少对接口最大速度的关注,而更多地关注物理磁盘性能特征,因为这通常是瓶颈。如所述本网站适用于 Hitachi Hus153030vls300 300GB您链接的服务器 SAS 磁盘。

在性能方面,日立 PDF 上列出的重要数据包括

  • 数据缓冲区 (MB) 16
  • 转速(RPM)15,000
  • 平均延迟(毫秒)2.0
  • 媒体传输速率(Mbits/秒,最大)1441
  • 持续传输速率(MB/秒,典型值)123-72(0-19 区)
  • 寻道时间(读取,毫秒,典型值)3.6 / 3.4 / 3.4

由于所有这些数字意味着磁盘将无法饱和 3 Gbps 通道,因此拥有 6 Gbps 通道是没有意义的。

我无法想象一个 RAID 控制器可以在同一阵列中同时利用每个磁盘的最大性能。因此,假设您有一个包含 2 个磁盘的 RAID 1,第一个磁盘能够持续连续读写速度为 60MB/s,而第二个磁盘仅为 50MB/s,那么写入阵列的速度将限制为 50MB/s,而一个不错的 RAID 卡将能够同时有 2 个读取流,一个为 60MB/s,另一个为 50MB/s。阵列越复杂,这些数字就越复杂。

其他一些说明

  • 磁盘的最大传输速率在磁盘的不同区域是不同的,通常在磁盘的起始处速度较快。
  • 顺序读取是磁盘可以执行的最快的持续操作,而随机读取或写入的速度则明显较慢。
  • 通常,RAID 控制器将禁用磁盘的板载写入缓存,并且只有在电池良好或您覆盖其默认设置的情况下才会使用其自己的缓存进行写入。
  • 我读过一些磁盘/RAID 固件组合的例子,它们错误地检测到电池故障并禁用所有写入缓存。因此更新磁盘和 RAID 控制器的固件

有些磁盘被宣传为 6 Gbps 高性能磁盘,但实际上性能并不高,它们只是具有 6 Gbps 接口,甚至无法饱和 3 Gbps 链路(这将需要 357每秒兆字节)。

6Gbps sas/sata 的主要优势在于 SSD 和端口倍增器(即将多个磁盘连接到 1 个 sas/sata 端口)

答案2

我不太熟悉 Windows 系统,但在基准测试时需要考虑以下几点,尤其是 IO。

请记住此模式代表应用程序和磁盘之间的层:

Application <=> Filesystem (OS) <=> Disk controller <=> Hard drive

并且这其中的每一部分都有自己的将信息移动到上部和下部的方法,有自己的缓存、配置等......

  • 应用程序:(这里是您的工具)。在一个大块中写入大量修改比进行许多小写入要好。您是否在等待完全刷新到磁盘,您是否在做顺序存取或者随机访问
  • 文件系统:这里有很多参数:操作系统的缓存、数据预取、数据块大小
  • 磁盘控制器:它是访问硬盘之前的中心点。它的配置将占您调整的 30%。其中,要点包括:
    • 读/写之间的缓存比率。根据读取密集型或写入密集型的应用程序,您可以相应地配置此比率。
    • 电池缓存,允许 WRITE-THROUGH 或 WRITE-BACK 方法。
    • RAID 级别:您必须根据您的容错需求选择级别。RAID0 容错率为 0 但性能出色,RAID1 容错率高但可用磁盘空间总量为 50%,RAID5/6 则为折衷方案...
  • 硬盘:更高的转速将允许您更快地访问位于不同驱动器区域的数据。因此,对于随机搜寻

另外,搜索数据对齐:我看到 Windows 多次创建未对齐的分区。因此,当文件系统要写入 1 个 4kb 的块时,会导致驱动器发生 2 次 I/O,因为 FS 块位于 2 个设备块上。

更多细节将有助于我们找到瓶颈。

阿德里安。

答案3

您需要升级 H710、HDD 和背板(如果有)的固件。如果您运行 Linux,则只需升级固件。

此外,在执行此操作之前,您可以立即安装 Dell Server Admin (OMSA)(如 7.3.0.1),以检查它是否会通知您有关任何不兼容问题。

如果是 SAS,您还需要在同一阵列中使用相同类型的驱动器。

因此,基本上,如果您有错误的 HDD 固件、旧的 SAS 固件、各种 SAS 驱动器(即使它们是 SATA,它们也可以作为 SAS 运行),那么您就不可能在所有驱动器上获得一致的性能。

实际上,如果您使用的是不同类型的驱动器,则可能会导致这种情况。

答案4

根据我的经验,我发现 15k SAS 驱动器的性能存在很大差异。您提到了一些驱动器交换,但似乎您关注的是 3Gig 与 6Gig 总线速度,而这对您指出的 I/O 数量影响不大。如果我处于您的位置,我会单独对驱动器进行基准测试,看看我的驱动器是否速度较慢。

您的 RAID 设置还应用了哪些其他设置。写入策略、缓存、条带大小等...它们在基准测试之间是否一致?

相关内容