同一台机器两个服务间的带宽是由什么决定的?

2022-10-26 21:34:08 +08:00
 SSang

比如我在本地跑 iperf3 -s 再本地跑 iperf3 -c localhost 跑出来的大概是 30-40 Gbps ,但是这个数字是由谁决定的呢?

3403 次点击
所在节点    Linux
17 条回复
eason1874
2022-10-26 21:44:40 +08:00
取决于 CPU
minzzz0
2022-10-26 21:44:58 +08:00
Routeros
2022-10-26 22:25:25 +08:00
cubecube
2022-10-27 01:35:26 +08:00
@Routeros 看来 windows 本身 IP 栈比较慢呀。如果能试试 Unix Domain 的性能或者去 wsl 里面测试下 12900 性能就更有说服力了
opengps
2022-10-27 08:14:02 +08:00
我理解同服务器的俩服务通信,实际可能没经过网卡限制,应该是对应块大小的硬盘读写的速度取代了
LxnChan
2022-10-27 08:43:43 +08:00
@opengps iperf 实际不写硬盘吧
9544
2022-10-27 08:46:47 +08:00
wtsamuel
2022-10-27 10:07:05 +08:00
我的理解是只用 iperf 的话可能不会经过 cpu 与外设的总线, 很有可能测得是 cpu 计算速度及开销和 L1, L2, L3 缓存之间的数据传输速度. 如果 iperf 在能存创建大的数据的话,也会涉及到 cpu 与内存之间的数据传输速度.
641571835
2022-10-27 10:48:13 +08:00
如果是用局域网 ip 192.168.x.x 去调用本机服务,流量还会经过物理网络设备吗?
chronos
2022-10-27 16:12:54 +08:00
@opengps 不写硬盘的,速度应该跟内存和 CPU 有关。因为如果网络的数据用户程序使用了,那就会复制到用户空间。如果走 zero copy 就直接内核。
yanqiyu
2022-10-27 16:13:52 +08:00
localhost 不进网卡,但是要在内核里面走大部分的网络栈
速度取决于 CPU 性能
chronos
2022-10-27 16:16:38 +08:00
@641571835 不会,会直接在本机内流转。但似乎 windows 的这块性能不如 linux 。
cattyhouse
2022-10-27 17:36:01 +08:00
macbook air m1 :

[ 7] 0.00-10.00 sec 113 GBytes 97.2 Gbits/sec
cattyhouse
2022-10-27 17:39:09 +08:00
alpine linux started by tart using apple virtualization framework , on macbook air m1

[ 5] 0.00-10.00 sec 154 GBytes 132 Gbits/sec
cattyhouse
2022-10-27 17:41:02 +08:00
archlinux arm started by tart using apple virtualization framework , on macbook air m1

[ 5] 0.00-9.00 sec 154 GBytes 147 Gbits/sec
opengps
2022-10-27 21:43:51 +08:00
@LxnChan 细节不清楚,因为我没用过这个服务,我只是推断的原因
flynaj
2022-10-28 11:39:23 +08:00
这个就是系统总线的速度。跟 cpu,主板芯片组有关系。

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

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

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

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

© 2021 V2EX