SSang
V2EX  ›  Linux

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

By SSang at 2022 年 10 月 26 日 · 5472 次点击

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

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

[ 7] 0.00-10.00 sec 113 GBytes 97.2 Gbits/sec
cattyhouse
   14
cattyhouse  
   2022 年 10 月 27 日
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
   15
cattyhouse  
   2022 年 10 月 27 日
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
   16
opengps  
   2022 年 10 月 27 日
@LxnChan 细节不清楚,因为我没用过这个服务,我只是推断的原因
flynaj
   17
flynaj  
   2022 年 10 月 28 日
这个就是系统总线的速度。跟 cpu,主板芯片组有关系。
Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
© 2026 V2EX · 40ms · 3.9.8.5