V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ljiaming19
V2EX  ›  宽带症候群

各个操作系统的 tcp/ip 协议有没有性能差异

  •  
  •   ljiaming19 · 2022-08-06 16:55:27 +08:00 · 2693 次点击
    这是一个创建于 864 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像 linux,windows,freebsd 这些操作系统的 tcp/ip 协议栈目前是不是都是用差不多的算法实现的

    7 条回复    2022-08-08 07:53:43 +08:00
    geekvcn
        1
    geekvcn  
       2022-08-06 17:21:44 +08:00 via Android   ❤️ 1
    有差距,不是,Windows 性能最差,Linux 性能最强,Linux 支持的拥塞算法最多,能调整的内核参数最多,并且内核开源随便加。FreeBSD 比如 BBR 这类 GPL 协议的拥塞算法就不支持。Windows 还差在网络工具上,比如同样 pppoe 拨号 Windows 只能单线程,多队列网卡处理器绑定比 Linux 复杂的多,部分网卡 offload 特性 Windows 驱动下不支持或者压根没 Windows 驱动
    geekvcn
        2
    geekvcn  
       2022-08-06 19:32:26 +08:00 via Android
    有一点了解不足说错了,BBR 是基于 Apache 开源的,FreeBSD 一样支持,只是添加支持比较晚
    geekvcn
        3
    geekvcn  
       2022-08-06 19:42:12 +08:00 via Android
    真有能用出 Windows FreeBSD Linux 网络性能区别的需求还是看 DPDK 社区吧
    cnbatch
        4
    cnbatch  
       2022-08-06 19:50:05 +08:00
    差距一定有,早就有人就做过测试。单论 TCP/IP 协议栈的话,BSD 系列性能排在前列,能够超越不少 Linux 发行版

    《 PostgreSQL 运行在 FreeBSD 和 Linux 的表现的测试数据》(半机翻)
    https://www.oschina.net/translate/postgresql-comparative-benchmark-between-freebsd-and-linux?cmp

    《为什么 Centos vs FreeBSD 分别跑 nginx 负载压测,性能差别那么大?》
    https://v2ex.com/t/782948

    《之前看 v 友的帖子,本想证明 centos 比 freebsd 弱不了多少,没想到引出 ubuntu server 20.04 成为黑马》
    https://www.v2ex.com/t/794443
    kaitok
        5
    kaitok  
       2022-08-07 14:00:53 +08:00
    linux 的不同内核版本默认性能也有差异
    smallthing
        6
    smallthing  
       2022-08-08 00:28:42 +08:00
    上面那些测试够老的
    kkocdko
        7
    kkocdko  
       2022-08-08 07:53:43 +08:00
    差距是有,但大多数时候,差距都体现在应用层协议的实现上,比如 http 的实现,syscall 的开销,tls 等。如果只是开一个 connection 一直读写,通常情况下几乎没有差异。
    越底层的东西,tcp 甚至 udp ,差异是很小的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1097 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:01 · PVG 07:01 · LAX 15:01 · JFK 18:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.