测量 HDR IPoIB 以及任何 10GbE 或更高速度、复制速度

测量 HDR IPoIB 以及任何 10GbE 或更高速度、复制速度

在处理大型数据文件(即大于 10GB)时,我正在使用 IPoIB {IP over infiniband},我需要比传统 1gbps 有线网络速度更好的东西。

背景:

  • 在 1Gbps 有线网络上,SSH安全副本我的 Linux 服务器和 Windows PC 之间的速度或 samba 文件传输是112MB/秒笔记:兆字节每秒。我们想要更快。
  • 我的 Linux 服务器中有 Mellanox HDR inifiniband 交换机和适配器卡;
    • HDR 为 100 Gbps
  • 我正在运行 RHEL 7.9 x86-64 并安装了最新的 Mellanox iso 驱动程序
  • 在 RHEL 网络管理器中,我的ib0接口使用静态 IP 地址作为数据报此时,少数 RHEL Linux 服务器之间的 infiniband 网络正在运行美好的....这是工作
  • 在进行安全复制作为速度测试时,即使我有 3 台服务器使用 30 GB tar 文件轰炸同一目标服务器,我也能获得可靠的约 260 MB/秒的速度。
  • 我的想法是 1gbps 有线网络是每秒 1000 兆位{除以字节中的 8 位}最大为 125 MB/秒,我得到 112 MB/秒 (89%),所以我对此很满意。
    • 从 1gbps 到 100gbs infiniband 我希望看到接近相应的 11200 MB/s安全副本速度但我只有 260 MB/秒; 260 / 11200 = 2%...这太糟糕了?

有人可以告诉我,在 100 Gbps HDR infiniband 的情况下,什么样的速度才是现实的? Doingethtool ib0报告链接数为 100,000,这与我的一次scp测试就是我目前所知道的。

既然我现在有 100 Gbps,是否有一些限制scp并表现出来?ssh

什么是更好的速度测试在这种情况下我能做什么?最终目标是在简单 LAN 上的多个服务器之间获得最大文件传输速度,使用scp和 最终nfs. 我知道 rdma 上的 nfs,但我正在采取一些小步骤

我也有兴趣看到任何人做的报告(答案)有线10GbE 或更好的网络,其中包括所有较慢的 infiniband,如 QDR、EDR、FDR 等,以达到应有的传输速度。

更新:我做了以下测试。因此,虽然我有 100 Gbps 的网络速度,但传输速度受到 cpu 处理所选密码(也许还有 hmac)的速度的限制。因此,如果您要做的只是购买一台昂贵的 infiniband 设置scp我在这里只使用了 scp,因为它可以方便地以 MB/秒为单位报告传输速度。

我是我的服务器机房里两台服务器上唯一的一个人。两台服务器的硬件相同,都是 4 插槽服务器,配备 intel 8628 cpu,频率 = 2.9ghz。

笔记:在使用 aes-###ctr 和 hmac-sha2-aes### 的 1 gbps 传统有线网络上,我整天都能获得稳定的 112 MB/秒 scp 速度。

在此输入图像描述

答案1

如果您希望使用 SSH 进行此副本,限制因素很可能是密码速度。对于典型的 1 Gbps 网络,大多数密码的性能相同,因为限制在于网络速度。

但是,如果您使用更快的网络,那么密码就很重要。假设您的硬件是现代 amd64,那么[email protected]几乎肯定是最快的。这是因为现代 amd64 CPU 包含加速 AES 和 GCM 的指令,而 AES-128 比更安全的版本更快。

为了比较我的系统上使用 OpenSSL 的最快 AEAD 密码,我使用 AES-128/GCM 获得 5.8 GB/s,使用 AES-256/GCM 获得 4.1 GB/s,使用 ChaCha20/Poly1305 获得 2.1 GB/s。这里的限制实际上是 CPU 加密数据以通过线路发送的速度。在这种情况下,没有理由认为任何其他程序都会更快,除非它以多线程方式进行加密,因为限制是 CPU 的速度。

您可以通过运行如下命令来测试您的 OpenSSL 版本(OpenSSH 使用的)的速度:

$ openssl speed -evp aes-128-gcm
$ openssl speed -evp aes-256-gcm
$ openssl speed -evp chacha20-poly1305

如果你想尝试调整密码,你可以这样做:

$ scp -o [email protected],[email protected],[email protected] \
  file user@host:file

请注意,一般来说,如果您想要更快的传输,您要么需要使用某种可以进行多线程加密的传输技术,要么需要以未加密的方式传输。当然,后者会更快,但会将您的数据和身份验证凭据暴露给网络上的每个人。

其他加密参数(例如密钥交换机制和公钥类型)不会影响传输速度,尽管它们可能会影响建立连接的时间。由于您在这里使用 AEAD,因此 MAC 设置也无关紧要(并且 AEAD 几乎肯定更快)。

如果您在切换密码后没有看到性能提高,则限制因素可能是您的磁盘、CPU 或 RAM 等。也有可能通过使用更现代的操作系统来提高性能,因为 RHEL 7 是 2014 年的,并且内核、加密库和驱动程序在过去 7 年中可能有一些性能改进。

您可以通过执行以下操作来测试问题是否出在您的磁盘上(按照 Martin 的建议):

# dd if=/dev/sda of=/dev/null bs=1M count=10240

这将打印类似于磁盘能够传输 10 GB 块数据的最大速度的信息。

相关内容