请教下 10G 内网 IO 有瓶颈吗?

2024-09-16 14:28:38 +08:00
 wuzeiyicixing

想请教下 10G 网络 IO 有瓶颈吗?有一个需求,需要从同一内网的另一台机器上读取数据,如果我用 10G 网卡连接两台机器,客户端一次性读取一定量小文件(一次几千个,每个小于 1M )的话,会有 IO 上的问题吗?

服务器可以用 NFS SMB 或者其他的方式共享数据、都是 NVME 存储的前提下。

3535 次点击
所在节点    NAS
10 条回复
Jinnrry
2024-09-16 14:52:50 +08:00
机械硬盘,单盘不组 raid ,读取能到 1000M 就不错了
CodeAllen
2024-09-16 15:14:38 +08:00
CPU 主频不高的话,TCP 协议栈在 10G 下 CPU 开销会大一点,,如果能支持 RDMA 最好,SMB 现在应该能支持 RDMA 。之前在工作站上测试 100G 网络,TCP 峰值也就只能到 33Gbps ,CPU 消耗很大,只能换 RDMA 才能跑满 100G 。
ToBeHacker
2024-09-16 15:22:10 +08:00
都会有 IO 瓶颈的,哪个慢卡在哪儿,只是看你能不能接受这个速度了

具体情况需要做 benchmark
GrayXu
2024-09-16 16:24:12 +08:00
pps 指标和吞吐差别很大,受很多影响。你应该先直接测小包性能而不是吞吐。
giyear
2024-09-16 17:37:43 +08:00
影响因素有
1 、NVME 接口的 PCIE 协议速度
2 、固态硬盘的容量和速度
3 、你文件大小
4 、你主机 CPU 和内存速度和容量
5 、文件系统
6 、SMB/NFS 是否支持 RDMA

以前三个因素举例,PCIE4.0 ,1T 支持 4.0 的 SSD ,在 512B 和 1MB 的读写速度是:
512B:读 60.91MB/s ,写 34.55MB/s
1MB:读 6.8GB/s ,写 5.97GB/s

所以在你操作系统合适,主机性能足够的情况下,文件越接近 1M ,你 10G 网络越会有瓶颈。文件在 16K 左右是个平均值。小于 16K 的多,10G 不是瓶颈。大于 16K ,就会有瓶颈。
InamikanAnju
2024-09-17 09:18:21 +08:00
@CodeAllen SMB 的 RDMA 需要 SMB-direct ,而这个在 Windows 上目前只有 Windows Server 能用,samba 的 rdma 听说比较灵车。
czvatqin
2024-09-17 21:15:06 +08:00
@InamikanAnju Pro for Workstations 也有
carmark
2024-09-18 09:43:57 +08:00
10G 网卡一般指的是 10Gbps ,对应而言就是 1.25GB/s 。
NVMe 的一般顺序读写速度,大概率应该会大于网络速度,具体可以实测下 FIO 。

RDMA 这个基本上可以不用考虑的,万兆没必要。

这里面的变量在于你的内存以及存储的文件数量,如果你随机读取,而存储文件数量巨大,那么寻址将会带来额外的磁盘开销,内存大小决定了你能缓存多少文件 metadata 。
Rorysky
2024-09-18 12:32:11 +08:00
瓶颈在 ssd ,虽然你是 nvme 协议,但是 小文件传输约等于 随机读,性能不高的;

可以预处理下,tar 打包成批量的数据包再传输
iv8d
2024-09-19 09:06:08 +08:00
小文件在固态下反倒不如机械,但是机械的速度你也懂。瓶颈还是会有

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1073335

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX