我正在一台新的 Windows 2012 Server 主机上运行时间试验,该主机连接了 PureStorage FlashArray SSD LUN。我对 CrystalDiskMark 进行了初步测试,发现写入性能明显优于读取性能。
-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 339.675 MB/s
Sequential Write : 1454.235 MB/s
Random Read 512KB : 227.305 MB/s
Random Write 512KB : 2313.737 MB/s
Random Read 4KB (QD=1) : 10.719 MB/s [ 2616.9 IOPS]
Random Write 4KB (QD=1) : 74.720 MB/s [ 18242.2 IOPS]
Random Read 4KB (QD=32) : 367.156 MB/s [ 89637.8 IOPS]
Random Write 4KB (QD=32) : 175.918 MB/s [ 42948.7 IOPS]
Test : 4000 MB [G: 87.9% (450.2/512.0 GB)] (x5)
OS : Windows NT 6.2 Server Standard Edition (full installation) [6.2 Build 9200] (x64)
这是预期的 FlashArray 配置,还是可以在控制器或 LUN 级别配置为读取比写入更优化?主机将托管一个数据仓库,其中的表已在 250 GB+ 范围内。
这是一个跳到首页的老问题,所以 MattyZDBA 现在可能已经解决了这个问题,但对于未来的读者:
在发布有关存储性能的问题时,请务必尽可能多地提供有关存储配置的详细信息:驱动器类型(传统、SSD)、与驱动器的连接(本地 nVME 驱动器、Gbit LAN、光纤通道……) ,数组大小,缓存详细信息,...
虽然像 CrystalDiskMark 这样的通用人工基准测试占有一席之地,但您将从专为测试存储阵列上的数据库负载而设计的工具中获得更有用的结果。更好的是,如果您有一个特定的应用程序,那么针对该应用程序的特定测试将为您提供更真实的结果(尽管如果它是您自己的应用程序,您可能必须自己构建这些测试)。
Test : 4000 MB
假设这意味着基准测试工具使用 4GB 数据运行其每个步骤,这不足以正确测试一个好的现代存储阵列,并且可以解释写快于读的行为。如果阵列有一个大的电池支持的缓存,那么您可能会发现几乎没有任何 4Gb 甚至还没有进入驱动器,并且它测试的只是阵列和您正在测试的机器之间的连接性。读取操作可能是从阵列的某些部分读取的,而不仅仅是写入或最近访问过的,因此它们是从驱动器中提取数据,而不是仅仅与更快的内存交互。CrystalDiskMark 并不是真正衡量阵列存储性能的好方法,例如 Pure Storage。他们经常在自己的博客上介绍不同的测试方法。您最好现在就将 DiskSpd 用于合成工作负载,尽管您可能希望使用分布式中继之类的东西来真正测试事物的性能。
作为一般规则,Pure 也非常支持他们的客户,您可以随时联系他们,看看他们是否已经构建了一个测试工具,可以帮助您找出所需的信息。