带有两个 1 Gbps NIC 的 Dell PowerEdge 2950 连接到交换机上的两个 1 Gbps 端口,然后连接到带有四个 1 Gbps NIC 的 NetApp,这些 1 Gbps NIC 作为一个虚拟接口出现。24 个驱动器、7200k SATA、NetApp RAID-DP。我已经使用 Microsoft iSCSI 启动器中的 MPIO 将每个主机 NIC 映射到 NetApp。使用 SQLIO 进行测试时,我的写入吞吐量在 200 MB 左右似乎合理,但我的读取接近 100 MB。
我的读取不应该像写入一样接近 200 MB 吗?这是配置问题还是我不明白的基本存储问题?
更新:这是随机工作负载的 IOPS。读取是有道理的,不过,我不确定写入的 20000 是什么。SAN 缓存为 3.2 GB。SQLIO 测试针对 25 GB 的文件。
磁盘写入实际上是写入文件管理器上的内存 (NVRAM),稍后刷新到磁盘 - 在空闲文件管理器上,这些将非常快,并且 20,000 的 iops 非常可信(您会看到大多数 SSD 的速度相似) .
另一方面,读取需要来自磁盘,除非它们已经在文件管理器的读取缓存中(与写入不同,它位于易失性内存中)。
很难将存储供应商确定为旋转磁盘的 iops,但对于 7200RPM 驱动器,80-120 iops 是相当可信的。考虑到您可能已经因为 NetApp 的 RAID-DP 和/或备件丢失了几个磁盘,2,200 iops 接近于您对 22 个磁盘每个执行大约 100 iops 的预期。
这可能无法解释您的读取速度(当您执行顺序读取时,您的磁盘可能不会执行完整的 2200 iops),但它至少可以帮助解释您的写入性能。
对于后代,经过多次反复试验,我们找到了如何获得预期吞吐量的方法。
如上所述,NetApp 有一个由四个物理 NIC 支持的虚拟接口。主机有两个 NIC,我已经通过 MS iSCSI Initiator 配置了 MPIO,以便从每个 NIC 到一个虚拟接口都有一条路径。结果就是上面的吞吐量——写入在接近 200 MB 或两个 NIC 的速度下是有意义的,但读取是一个 NIC 的一半或速度。
经过仔细检查,我们的 SAN 人员注意到流量仅通过其中一个物理网卡进行读取。我不确定我们这边是否存在配置错误,但是我们尝试了两件事,并且都让我们获得了吞吐量。一种是将一个由四个 NIC 支持的虚拟接口更改为两个虚拟接口,每个接口由两个 NIC 支持。然后将一个主机网卡映射到一个虚拟接口。我们尝试的另一件事是在 SAN 端使用“别名”来呈现多个虚拟接口。(我不是 SAN 人,所以希望我说的是对的。)
我的看法是,我们只需要 SAN 提供多个接口,这样启动器就可以真正看到多条路径。这是我们现在的吞吐量:
归档时间: |
|
查看次数: |
663 次 |
最近记录: |