磁盘驱动器值得怀疑
如果您渴求高性能,那么最后一个技巧就是怀疑磁盘驱动器。最近几十年海量存储器已经在密度和可靠性方面取得了惊人的进步,但是最近我看到至少有一些制造商在操作质量这一关把得太松。导致一些结果,包括一些单元彻底损坏,更多的单元则给出变化的结果。
除非您仔细检查,否则您无法知道磁盘子系统实际的平均存取时间或吞吐量。当海量存储器配置为 RAID、SAN 或其它新式技术时,这会特别困难。特定的单元可能经常发生故障,但是在应用程序级别出现的唯一结果是在整体性能方面的各种怪异变化。例如,很容易就会发生这种情况:某个 RAID 单元实际上已经丢掉了一整个轴(spindle),因此特定程序消耗的大多数时间却都花在该单元的错误更正上。
对此您该怎么办呢?许多补救方法都是可行的,但是它们的文档记录却少得可怜;我所知道的基本上是系统管理员私底下交流的一些“民间说法”。下面是一些要点:
购买您信得过的设备。在海量存储器这一领域,宁可多花些钱购买可靠的产品,也不要接受标价最低的商品。
别做第一个吃螃蟹的人。让别人先试用 SAN、最新一代的 SCSI、gigaether 存储器和其它产品吧。
在您购买的产品中寻找可测性。寻找一些可以监控其自身性能和环境(包括温度)的磁盘驱动器。保存这些记录,这样您就知道设备会发生什么情况。如果您的项目非常大,您会遇到有关磁盘的一些奇怪的问题。您最好留个有记录的基线,而不是在故障发生之后设法跟踪它。
一些性能修正的构思甚至实现只需花几分钟;而另一些性能修正在成功之前则需要投入几天的功夫进行研究。要追踪到您的应用程序在速度上的确切限制,您需要准备处理困难和简单的性能问题。