潜在的SANconfiguration错误?

我是一名开发人员,对存储系统知之甚less。 在工作中,我注意到其中一个SQL Server上的大型查询性能很慢。 我被告知数据库位于光纤通道SAN MSA1500(HP?)上,配有14个COMPAQ BF3008B26C驱动器。 当服务器几乎没有负载时,我做了一个快速的HD调整基准。 平均读取大约60MB / s。 我对SAN的了解不多,但读取速度对我来说看起来很低。 本地HD读取基准更高。 在我认为是一个巨大的潜在的错误configuration的IT人员之前,我只是想得到你们的意见。

根据SAN标准,MSA1500并不是那么快,但configuration错误的SAN往往在数据仓库等负载上performance不佳。 这很可能是错误configuration的SAN(可能arrays上的条带大小太小)。 SAN本身也很慢 – 也不是所有的SAN都是平等的。

对于像数据仓库那样容量大(而不是重负荷)的负载,您可能会从直连磁盘arrays获得更好的性能。 在随机访问工作负载(如事务性应用程序)上,控制器的局限性往往被机械磁盘查找活动所掩盖。 性能问题更有可能通过大型事实表上的表扫描来显示stream式工作负载。

较差的磁盘布局(如将日志卷设置为繁忙的随机访问工作负载)可能也会不相称地影响SAN上的磁盘性能。

要想知道是否有磁盘空间,请查看页面IO锁存等待的统计信息。 如果这些比例过高,那么SAN可能是瓶颈。

我有一个MSA1500CS,它一直performance不佳,对我来说,大约你遇到的利率。 我的磁盘是SATA驱动器。 当我在奇偶校验RAIDconfiguration(RAID5或6)时,他们的吞吐量约为60MB /秒。 那里的控制器真的没电了。 我已经去了RAID10,吞吐量增加了很多,主要是因为我没有使用几乎所有的控制器CPU资源。

此外,该设备有一个讨厌的,讨厌的习惯,当做某些数组function时禁用写caching。 诸如将驱动器添加到磁盘arrays,更改LUN上的条带大小或从发生故障的磁盘中恢复等。 当它这样做时,那里的任何奇偶校验RAID LUN变得非常写敏感。 抛出太多的写入I / O,并且开始大幅度地减慢写入磁盘的速度。 更快的驱动器可以提供帮助,但大部分是控制器CPU资源问题。

也就是说,你有一个没有SATA的SCSI驱动器。 这应该有助于提高性能,尽pipe再次奇偶校验RAID可能不会有太大的改善。 改善性能的方法是使用主动/主动固件,并利用MPIO round-robbin来扩展两个控制器之间的I / O负载。 最后,我检查了,这只能在同类主机操作系统环境(即所有的Windows,或所有的Linux)中完成。

这是一个devise的设备,以便延迟敏感的工作负载(惠普说法中的“在线”工作负载)旨在运行在镜像集中,并为奇偶校验RAID归档工作负载(“近线”工作负载)。 尝试在联机angular色中使用奇偶校验RAID是可行的,只要您的应用程序正在接受潜在的非常严重的延迟。 我的不是,这造成了重大问题。

据报道MSA2000系列更好。

共同罪犯:

  • Windows磁盘分区不与SANalignment。 这是由于2008年之前在第64扇区启动分区的Windows Server版本。

  • NTFS分配单元大小应该是64k(最佳实践)。

  • 次优SAN条带大小

您可以使用以下命令检查磁盘alignment方式:

wmic分区得到blocksize,startingoffset,name,index

如果起始偏移量是32256,则分区错位。

更多信息:

磁盘分区alignmentSQL Server的最佳实践

http://msdn.microsoft.com/en-us/library/dd758814.aspx

您的基准testing工具是否使用系统的队列,或一次只运行一个SCSI请求?

想想从你家50米的煤矿运煤。 你可以使用一辆卡车。 有了SAN,这个矿远在另一个城市。 它可能会产生更多的煤炭(在你的情况下,煤矿是大约14倍),但首先你需要投入大量的卡车(排队)。

您的数据库通常会投入大量的卡车,因此请使用相应的基准testing工具。

另一件更重要的事情是:顺序与随机操作。 你的数据库肯定需要随机的I / O(除了完全备份的时间),所以我可以放心地猜测,它将永远不会接近60 MB / s的性能。 因为随机的I / O,矿工的工作真的很慢,所以卡车和距离并不重要。 尝试基准这种types的工作量。 与你的本地驱动器比较,你可能会感到惊讶。

另一个涉及这个问题的答案什么是典型的SAN性能? 。

这里是一个链接 ,讨论了SQL服务器上的很多不同的问题。 请参阅第19页(附录D),了解有关IT人员如何设置SAN的说明。 这包括Denny先生的一篇文章,对我很有帮助。 我们在阅读后重新configuration了SAN上每个LUN的块大小(条带大小)和驱动器数量,并注意到我们的环境改善了100-120%。
希望它以某种方式帮助你…