存储 频道

Ultra320 SCSI接口,我们真的需要吗?

  【IT168 资讯】我们真的需要Ultra320 SCSI接口吗?在这篇文章里我们将对Ultra320 SCSI 硬盘在Adaptec 39320D控制器下使用不同驱动版本的情况下进行性能的分析;并且对Adaptec的Ultra160 和 Ultra320 两款控制器的带宽优势进行详细的研究。 

  在前一些时候我们曾经使用过Adaptec的SCSI控制器搭配希捷的捷豹(Cheetah)15K.3硬盘进行了测试,但当时我们使用的驱动程序版本是1.0的。现在Adaptec 公司又释出了新的1.1版本的驱动 ,等一下你将可以看到,驱动程序将对控制器的性能有着什么的影响。

  测试的配置和方法

   首先,我们测试Adaptec 39320控制器搭配捷豹15K.3 SCSI硬盘在新驱动下的性能 。在测试的过程中我们把硬盘模拟在文件服务器或者是网页服务器两种工作模式。

  配置:
  主板:ASUS P3B-F
  CPU:Intel Pentium 3(Coppermine)600MHz
  内存:现代2X128MB PC100 ECC SDRAM
  硬盘:IBM DPTA 372050 主硬盘
  显卡:Matrox Millennium 4MB
  操作系统:Windows 2000 Pro SP2

  在第二部分的测试里面,我们要检查SCSI控制器搭配四个捷豹15K.3 SCSI硬盘对大小不同的数据段的读速度。因为我们希望硬盘的数据传输率可以超越133MB/s,所以我们在这里使用了比较先进的平台。具体配置如下:
  主板:Intel SE7501BR2
  CPU:两个Xeon 2.8GHz 处理器
  内存:4X1GB PC2100 ECC DDR SDRAM
  硬盘:IBM IC35L018UWD210 主硬盘
  操作系统:Windows 200 Pro SP2

  在测试的过程中,我们通过Adaptec的29160N或者39320D控制器的一个通道连接四个捷豹15K.3 SCSI硬盘。为了更加明显地体现出驱动对硬盘性能的影响,我们使用了IOMeter在单一任务下进行四样工作。每一样工作都是在自己的硬盘上完成,这样就可以测试出在实际应用程序中工作的性能。然后,我们在同一时间开始四样工作,并测量所有硬盘从控制器到内存的总共数据传输速度。

  控制器使用的驱动程序版本:
  Adaptec 29160N – 4.10.4002
  Adaptec 39320B – 1.0 and 1.1

  测试中使用的捷豹15K.3 SCSI硬盘的firmware版本为"0002"。

  性能 


  下面的结果是硬盘驱动器在模拟文件服务器和网页服务器中的性能:

  下面是把表格转换为图表的结果(仅是转换文件服务器的结果就足以说明问题了),我们能够一眼就看出它们的区别吧。


  现在我们很方便地看到1.1驱动对希捷的捷豹15K.3/320 硬盘所带来的性能提升。当使用1.0版本驱动的时候,硬盘在使用U320和U160控制器时的性能没有什么区别。但当使用1.1驱动的时候,性能的区别就立刻明显起来。在64个请求的时候性能比1.0版本的驱动有了长足的进步;但在256个请求的时候,新版本的驱动反而使性能有了显著的降低。

  既然性能会降低,那么我们就要充分发挥我们的DIY精神,来个寻根问底。首先我们查阅了“Readme”文件,在那里我们知道可以通过注册表的键值自定义控制器的参数。

  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\adpu320

  \Parameters\Device\

  当我们比较Adaptec 39320D 控制器两个版本驱动的注册表键值的时候,我们发现内容有一些区别。

  Adaptec 39320D v.1.0


 

  Adaptec 39320D v.1.1


   “MaxTAGS"参数的不同值到底代表什么意义?为此,我再次参考了Readme.txt文件。

  MAXTAGS - 特别的标记命令,用来指定每一个目标队列的深度 

   这个参数是用来设置控制器向硬盘发送优先处理请求数值的数量,接着硬盘的firmware能够根据一定的运算法则来处理这些数据。到这里你应该能够明白吧,请求队列的深度将直接影响到硬盘驱动器的性能。

   其它的两个参数可能就没有这么有趣了(因为它们的值没有改变),但了解一下还是有用处的。

  MAXIMUMSGLIST - 为独立的命令设置最大的传输值 。格式:TRANSFER SIZE = PAGE_SIZE *(元素的数值 -1)

   两个驱动程序版本的数值都被设置为"65",从而规定了单命令的最大数据传输块为256KB。 NumberOfRequests - 规定了向SCSI适配器发送协调或者突出数据的最大值。

   现在让我们使用1.0和1.1的驱动并在注册表设置不同的键值,看看对希豹15K.3的性能所带来的影响。下面表格的“U320 v.1.1-64"和“U320 v.1.1-256”分别是硬盘在注册表设置为MAXTAGS = 64 和 256的结果。在表格里我们还加进了Tekram DC-390U4W 控制器的结果(LSI 1030 芯片)。


  当我们把"MAXTAGS"设置为64的时候,1.0版本驱动和1.1版本的驱动拥有完全同样的性能。因此我在怀疑是否这两个版本驱动的唯一区别就是这个注册表的键值。

  另外一件有趣的事情是,当我们设置MAXTAGS = 256的时候对性能并没有实在的影响(在高负载工作的时候反而会带来性能的降低)。

  现在我们已经揭露了1.1版本驱动的神秘面纱,并且证明了MAXTAGS参数对硬盘的性能所带来的影响。

  在最好性能的基础上,我们计算了标准性能的比率。

 


  你可能会猜想,1.1驱动会令捷豹性能降低,怎么可能?但这是千真万确的,因为256个请求的工作量可以使用,但并不可靠。控制器在一瞬间接受到大量的请求,而这也将直接降低硬盘子系统的性能。

  我们使用256个请求队列的深度只是为了评估硬盘和控制器缓存运算法则的性能,所以在计算比率的时候我们没有采用它。但同时我们必须指出,这样做为了保持与下一代硬盘和控制器的兼容性。 这也是我们为什么说Adaptec 39320D的1.1驱动还不太坏的原因,因为毕竟它对64个请求过载的时候有一定的性能提升。 

  现在我们要检测SCSI控制器同时吞吐四个捷豹15K.3硬盘的数据的能力。我们还记得,每一个捷豹15K.3硬盘最高峰的能够传输超过70MB/s 数据的能力,而控制器的作用就是要把硬盘的威力给全部释放出来:)。

  因为PCI总线的带宽并不足以满足大量数据的吞吐,所以我们把控制器插到Intel SE7501BR2主板的PCI-X/100MHz 插槽里。


  现在让我们来看看表格转换为图表后的结果,这样就能够给我们更加直观的例子。


   在使用单个硬盘的时候,使用U160或者U320控制器并没有带来很大的性能区别。当数据块比较大的时候,两个控制器都能很好地把数据流控制在70MB/S ,但在使用两个硬盘的时候U320 控制器就表现出超越U160的优势。一件有趣的事情:因为U320接口具有很高的带宽,所以在处理小数据块的时候,U320能够远远地胜过其它竞争对手。

  当我们不断地增加驱动器的时候,U160控制器的的性能会出现什么变化呢?看图表吧,它们的性能都低于U160的双硬盘系统。这意味着什么呢?意味着两个捷豹15K.3硬盘就能够用光U160的带宽。而U320在使用四个硬盘系统的时候又会发生什么事情呢?当它在使用两个或者三个硬盘系统的时候都能够获得性能的提升,但当在使用四个硬盘系统的时候,性能似乎会略有下降。这也许表明了控制器的速度也是会有限制的....

  总结

  我们今天的试验表明了目前的U320 SCSI 硬盘能够很好地与U320控制器协调工作。如果你仅是使用U320搭配一个SCSI硬盘,这几乎是不可能发生的事情吧。所以,如果你需要同时使用几个硬盘驱动器处理数据流,那么39320D控制器将会是理想的产品。

  另外,Adaptec 发布了39320D的BIOS和驱动程序,它可以允许把控制器转换为简单的支持array 0 和 1 的 RAID(廉价冗余磁盘阵列) 控制器。

  如果磁盘子系统不是流类型的满载,那么U320控制器的带宽优势可能就不能够充分地体现出来。但,毕竟使用RAID控制器能够很好地满足随机读取数据的需要 。

0
相关文章