为什么通过10G以太网,open-iscsi的写入速度比Samba慢两倍?


9

在我的本地文件服务器上,我在7个HDD驱动器上具有raid-6。

dd if=/dev/zero of=tempfile bs=1M count=2048 conv=fdatasync

本地速度测试为我提供了349 MB / s的写入速度。

从SSD到Samba的远程写入(读取速度> 2Gb / s)为我提供259 MB / s的写入速度。但是对iSCSI驱动器的远程写入(在Win10 iSCSI启动器上)仅给我151 Mb / s的写入。

raid6 config-128K块大小,stripe_cache_size =8191。写意图位图位于SSD(三星860 PRO,4096K位图块)上。

阵列安装有选件: rw,noatime,nobarrier,commit=999,stripe=128,data=writeback

open-iscsi设置:目标基于4TB文件。

有什么暗示为什么iSCSI在写时比Samba慢?关于如何提高iSCSI写入速度的任何提示?

我认为这与open-iscsi希望在每次操作后刷新对磁盘的写入有关,由于过多的奇偶校验重写,这增加了raid6上的写入放大。但是我不确定如何解决它。断电时,速度比当前写入数据的安全性更为重要。

附带说明,较早的ietd iSCSI目标具有启用回写模式(使用IOMode=wb)的能力, 并且持续的写入速度要快得多。不幸的是,它目前似乎无法维护。


2
网络是什么样的?10GigE?服务器操作系统版本是什么,内核版本是什么?iscsi目标和版本是什么?ietd,scst还是lio?Open-iscsi仅提供启动器,而不提供目标...您正在使用什么来测量写入速度?目标上使用的文件系统是什么?
wazoox

在Windows 10中,从NIC中删除了QoS?
yagmoth555

2
在这种情况下,请谨慎发布iSCSI目标和任何已调整的网络可调参数的配置。您还可以考虑在具有现代内核的linux客户端上使用open-iscsi启动器进行测试,以便对使用相同目标的启动器之间进行清晰的比较,因为Windows启动器可能会缩小现有测试的范围。更多数据==更好。
后台打印程序

1
但就实际问题而言:iSCSI和Samba有很大不同,并且在使用裸块设备中不存在的Samba时,您正在利用VFS缓存层。我了解您对性能的差异感到惊讶,但是您是否更关心这种比较,还是让iSCSI使您的网络饱和?如果iSCSI是您的主要关注点,而Samba性能只是上下文的次要细节,则可以编辑问题以使其更清晰(并可能会得到更好的答案)。
后台打印程序

您使用Windows 10进行了测试,但我看不到任何地方使用的计算机的任何细节。(以及为什么要使用Windows客户端操作系统进行此类测试?)
yagmoth555

Answers:


6

首先,由于双重奇偶校验计算,RAID-6成为问题。其次,您可以在MS iSCSI Initiator中连接iSCSI目标两次,启用RR或最低队列深度(不幸的是,Win10不支持多路径,因此可以使用Windows Server对其进行测试)。

实际上,块级访问必须比文件级访问快。您从Windows站点使用哪种基准测试工具?我建议使用diskspd或FIO。此外,您可以将Starwind之类的东西用作更快的iSCSI目标。

https://www.starwindsoftware.com/starwind-virtual-san#Hyper-V


2
突袭6在硬件而非软件中。自大约20年以来,它不再是性能问题。
尼尔斯

RAID-6是问题吗?不管协议如何,均进行奇偶校验计算。
丹尼尔(Daniel)

2
RAID6的速度变慢不是因为进行奇偶校验计算,而是因为所谓的“写漏洞”是读-修改-写奇偶校验RAID性质的结果。
BaronSamedi1958

3
“ Raid 6在硬件中而不是软件中。大约20年以来,它不再是性能问题。–
2012/03/21

1

iSCSI应该在块级别上使用,您的设置描述听起来像您正在使用文件系统,将文件放置在其上,然后将该文件作为iSCSI块层运行。

这远非理想,而且绝对不是用于比较速度的设置。尝试在raid6顶部使用lvm来分割空间并留在iSCSI的块层上,或者直接将raid6用作iSCSI设备。

在当前设置中,数据通过网络传输,命中了文件系统中的一个文件,该文件(很可能)并未针对此类工作负载进行优化,并且已与其他进程共享。可以使用iSCSI进行此类设置,但应将其视为未优化的后备解决方案。


1

请注意,这dd是一个非常简单的基准,非常容易出现失真。例如,您dd正在写入零-如果某些情况对于充满零的数据有特殊情况(例如,因为它可以进行压缩),您将看到出色的性能,但切换到写入非零的“实际数据”,则性能可能突然消失。 ..

为了回答您的问题(就像在所有基准测试中一样),您实际上必须隔离各部分以找出引起问题的原因。例如,直接写入Windows文件系统(而不是通过iSCSI)是否也非常快?如果您使用相同的硬件配置并运行Linux而不是Windows,它是否一样快还是变慢了?如果切换到使用诸如fio之类的基准工具会怎样?

可悲的是,有太多的可能性能够很好地回答这样的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.