磁盘性能低于预期

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

我有一台带有PERC H700集成RAID控制器(称为服务器B)的PowerEdge R510服务器,它使用8个具有3Gb / s带宽的磁盘构build,我使用四个内置的服务器(称为服务器A)具有6Gb / s带宽的磁盘。 服务器A比服务器B有更好的I / O速率。

一旦我发现与磁盘的区别,我已经用更快的6Gbps磁盘重build了服务器A. 不幸的是,这不会导致磁盘性能的提高。 预计服务器之间必须有一些其他的configuration差异,我们把6Gbps的磁盘从服务器A中拿出来放到服务器B中,这样也不会增加磁盘的性能。

我们现在有两台相同的服务器,除了六个6Gbps磁盘,另外一个带有八个3Gbps磁盘,而且磁盘的I / O速率几乎相同。 这意味着除了磁盘之外还有一些瓶颈,但是我不明白服务器B最初是如何有更好的I / O,后来被“丢失”了。

下面的比较I / O信息,由SQLIO测量。 每个testing使用相同的参数。 实际的数字并不重要,而是系统之间的差异。 在每种情况下,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 

有人可以提出任何想法吗?

正在使用的驱动器如下所示:

  • 戴尔Seagate F617N ST3300657SS 300GB 15K RPM SAS
  • 戴尔日立HUS156030VLS600 300GB 3.5英寸15000rpm 6GB SAS
  • 日立Hus153030vls300 300GB服务器SAS
  • 戴尔ST3146855SS希捷3.5寸146GB 15K SAS

您不必关注接口最大速度,更多关注物理磁盘性能特征,因为这通常是瓶颈。 正如您在本网站上所描述的您链接的Hitachi Hus153030vls300 300GB服务器SAS磁盘。

在性能方面,日立pdf上列出的重要数据是

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

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

我无法想象一个RAID控制器可以在同一arrays中同时利用每个磁盘的最大性能。 因此,假设你有一个RAID 1和2个磁盘,第一个能够达到60MB / s的连续读写速度,第二个只有50MB / s,那么写入arrays将被限制在50MB / s,而一个不错的RAID卡将会能够有2个同时读取stream,一个在60MB / s,另一个在50MB / s。 arrays越复杂,这些数字就越复杂。

一些其他的说明

  • 磁盘的最大传输速率在磁盘的不同区域是不同的,通常磁盘的启动速度较快。
  • 顺序读取是磁盘可以执行的最快持续操作,随机读取或写入速度明显较慢。
  • 通常一个RAID控制器将会禁用磁盘的写入caching,如果它有一个好的电池,只会使用自己的caching进行写操作,或者覆盖其默认值。
  • 我已经读过一些磁盘/ RAID固件组合的实例,错误地检测到一个坏电池,并禁用所有的写caching。 所以更新你的固件的磁盘和RAID控制器

有一些磁盘公布为6 Gbps高性能磁盘,实际上并不是那么高的性能,它们只有6 Gbps接口,无论如何也不能饱和3 Gbps链路(这将需要357 MiB / s )。

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

我对Windows系统不是很熟悉,但是在进行基准testing时需要考虑一些问题,尤其是IO。

记住这个表示你的应用程序和磁盘之间的层次的模式:

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

而且这里的每个部分都有自己的方法将信息传递到上下部分,拥有自己的caching,configuration等等。

  • 应用程序:(这里是你的工具)。 在一个大块中写大的修改要比写很多小写要好。 您是否正在等待磁盘完全刷新,您是否正在进行顺序访问随机访问
  • 文件系统:这里有很多参数:由操作系统caching,数据预取,数据块大小
  • 磁盘控制器:他是访问硬盘前的中心点。 他的configuration将占你调整的30%。 其中,要点是:
    • 读/写之间的高速caching比率。 根据您的应用程序可能会读取或写入密集型,您将相应地configuration此比例。
    • 电池caching,允许通过写或回写方法。
    • 团队级别:您必须根据您的容错需求select级别。 RAID0的容错能力,但性能卓越,RAID1容错,但可用磁盘空间总量的50%,RAID5 / 6的妥协…
  • 硬盘驱动器:更高的旋转速度将使您可以更快地访问位于不同驱动器区域的数据。 因此,更适合随机查找

另外,关于数据alignment的search:我看到Windows创build了多次错误alignment的分区。 因此,当文件系统想要写入1个4kb的块时,由于FS块位于2个设备块上,所以在驱动器中产生2个I / O。

更多的细节将帮助我们find瓶颈。

阿德里安。

您需要升级H710的固件,硬盘和底板(如果有的话)。 如果您运行Linux,则只需要升级固件。

此外,在执行此操作之前,您可以像7.3.0.1一样安装Dell Server Admin(OMSA),以检查是否会通知您任何不兼容的问题。

如果是SAS,则需要在同一arrays中使用相同types的驱动器。

所以基本上,如果您的硬盘固件错误,旧的SAS固件,各种SAS驱动器(即使它们是SATA,他们也可以作为SAS运行),您将无法在所有驱动器上获得一致的性能。

其实,如果你只有不同的驱动器types,可能会导致这种情况。

根据我的经验,我看到15k SAS硬盘的性能差异很大。 您已经提到了几次驱动器交换,但是看起来好像是关注3Gig vs 6Gig总线速度,这对于您所指示的I / O数量几乎没有影响。 如果我在你的鞋子里,我会单独对驱动器进行基准testing,看看我是否有缓慢的驱动器。

还有哪些其他设置适用于您的RAID设置。 写政策,caching,条纹大小等…他们是否一致的基准?