V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DinoStray
V2EX  ›  问与答

想在最短的时间内下, 给大量 tcp 连接发送数据, 有哪些最佳实践?

  •  
  •   DinoStray · 2021-11-02 15:32:28 +08:00 · 657 次点击
    这是一个创建于 906 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我这边基于 C++ 和 libevent, 在 linux 下写的代码. 每个 tcp 需要发送的数据是不一样的.
    5 千 tcp 连接还能做到 0.2 秒以内数据全部发送
    超过 5 千就越来越差, 到 2 万的时候就需要 1s 左右了.
    用最简单的发送 00 做过测试, 测试结果和下发数据的大小关系不大.
    希望能听听大家有什么优化思路

    4 条回复    2021-11-02 22:09:08 +08:00
    eason1874
        1
    eason1874  
       2021-11-02 15:44:21 +08:00
    检查最大打开文件数、可用端口数
    dndx
        2
    dndx  
       2021-11-02 15:45:35 +08:00 via iPhone
    单线程吗,最好用多线程发送会快一些。
    ch2
        3
    ch2  
       2021-11-02 15:49:11 +08:00
    开 reuse_port ,多线程发送
    codehz
        4
    codehz  
       2021-11-02 22:09:08 +08:00
    绕过内核用 LPDK 一类的解决方案
    或者极端点设计专用集成电路
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5356 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:57 · PVG 15:57 · LAX 00:57 · JFK 03:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.