为什么磁盘密集型应用程序在SAN上比在物理磁盘上运行得更快?

为什么磁盘密集型应用程序在SAN上比在物理磁盘上运行得更快? 我希望物理磁盘的速度稍微快一些,但实际上这个过程的运行速度要比SAN上的分区速度快100倍。

我们的猜测是,SAN在开箱即用的情况下进行了优化,而物理磁盘调整设置与操作系统(Solaris)相关,并且尚未被触及或操作系统已被修补。

在最高活动期间,磁盘I / O以100%运行,并且完成写入的时间超过2秒,因为多个进程同时向磁盘写入数据。

(仅供参考的应用程序是Informatica PowerCenter)

我并不感到惊讶。 SANarrays通常会涉及大量的磁盘。 磁盘I / O的限制因素是单个磁盘的速度以及这些堆栈。 RAID10中的6个驱动器的性能将比2高,而SAN上的80个驱动器在本地的性能会优于10个驱动器。 当然有变数,但这就是它应该如何工作。

另外,如果SAN有SSD的话,事情会变得非常活泼。

这几乎肯定是由于caching。 DAS很可能具有最小的caching,大多数企业SAN具有多个千兆字节的caching。 我猜测应用程序正在饱和DAS的caching,但不是SAN的。

从概念上说,从SAN服务磁盘总是比在本地服务慢。 然而,有很多因素可以扭转这种情况,导致SAN成为一个更快的select。 其中一些因素是:

  • 您的工作负载是否需要快速查找时间或快速吞吐量?
  • SAN LUN和本地磁盘上有多less个主轴?
  • SAN LUN和服务器之间的总线速度与本地磁盘接口之间的速度是多less?
  • SAN LUN与本地磁盘有多less读/写caching可用?
  • SAN LUN上的磁盘转速与本地磁盘速度有多快?
  • SAN LUN和本地磁盘上发生了哪些其他IO活动?
  • SAN和本地存储上的arrays是什么RAID级别?

所有这些都会影响您在SAN和本地磁盘上的性能。

这一切都归结为可用的主轴数量。主轴数量越多,访问任何给定数据的速度越快。 如果您的IO密集程度很高,特别是在您是数据库应用程序的情况下,那么您可以很容易地将本地磁盘性能与SAN解决scheme相提并论,该解决scheme可以有更多的磁盘集来pipe理核心数据,索引等。

对于本地磁盘子系统,您也可能与其他操作共享对读/写头的访问权限,例如交换,本地操作系统和库文件访问,应用程序访问等。虽然个别快,但集体时间对于所有的读/写动作来说,将读/写磁头从磁盘的一个区域移动到覆盖一个动作到另一个动作来满足你的应用需求当然可以击败性能。