DinoStray
V2EX  ›  问与答

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

  •  
  •   DinoStray · Nov 2, 2021 · 1123 views
    This topic created in 1670 days ago, the information mentioned may be changed or developed.

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

    4 replies    2021-11-02 22:09:08 +08:00
    eason1874
        1
    eason1874  
       Nov 2, 2021
    检查最大打开文件数、可用端口数
    dndx
        2
    dndx  
       Nov 2, 2021 via iPhone
    单线程吗,最好用多线程发送会快一些。
    ch2
        3
    ch2  
       Nov 2, 2021
    开 reuse_port ,多线程发送
    codehz
        4
    codehz  
       Nov 2, 2021
    绕过内核用 LPDK 一类的解决方案
    或者极端点设计专用集成电路
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2683 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 05:39 · PVG 13:39 · LAX 22:39 · JFK 01:39
    ♥ Do have faith in what you're doing.