Write Through和Write Back是阵列卡Cache的两种使用方式,也称为透写和回写。当选用write through方式时,系统的写磁盘操作并不利用阵列卡的Cache,而是直接与磁盘进行数据的交互。而write Back方式则利用阵列Cache作为系统与磁盘间的二传手,系统先将数据交给Cache,然后再由Cache将数据传给磁盘。
在采用这两种不同的Cache使用方式时,对于系统性能有何影响呢,接下来我们就以对比实验来揭开这一谜题。 测试分两种模式,一是在在安装阵列卡后,采用它的缺省设置,此时阵列卡Cache采用的是Write Through,而ACCESS并非是RW,而是READ。另一测试模式则ACCESS采用的是RW,阵列卡Cache采用的是Write Back。
读取IOps
读取吞吐量
写入IOps
写入吞吐量
从以上4张测试对比图我们可以看到一个有趣现象,那就是在两种不同的工作模式下,缺省设置与在RW且Write Back配置下相比,前者的读取性能要远高于后者,而写入性能则刚好相反,可谓泾渭分明。
导致这一现象的原因主要来自两个方面,一是Access选择的不同,缺省模式下采用的是read,这直接提升了该模式下系统的读取性能。然而在写入时,由于缺少了阵列卡Cache的支持,系统要写数据到磁盘时,会直接进行磁盘写入,而与系统的I/O能力相比,磁盘的读写速度要慢出很多,这直接致使系统写盘的下降。
Netbench测试结果对比
Netbench测试结果主要反映的是系统被用作文件服务器时,能够为用户访问提供的数据吞吐量。由于该项重点考查的是服务器的磁盘读取性能,因此该服务器在缺省模式下比另一模式下有2.5倍的性能优势也就不足为奇。
SQL2005测试结果对比
在SQL2005测试中,我们看到两种不同模式在性能结果上基本相当,这是该项测试主要考察的是在数据库的查询、添加、删除、修改等操作时服务器的处理能力,该项测试中更为偏重于对数据库的查询,而实际的写盘操作要远少于读盘操作,这就使得缺省模式下系统超强的读取性能弥补了它写盘较慢的不足。结果使得测试成绩相差不多。
通过以上几项测试大家不难发现,在阵列卡的设置中,不仅仅是RAID方式会影响到存储子系统的读写性能,阵列卡中一个小小的设置往往会带来应用性能的巨大差异。因此在阵列卡的使用中,对于如何设置大家还真应该重视。