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

2021-11-02 15:32:28 +08:00
 DinoStray

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

718 次点击
所在节点    问与答
4 条回复
eason1874
2021-11-02 15:44:21 +08:00
检查最大打开文件数、可用端口数
dndx
2021-11-02 15:45:35 +08:00
单线程吗,最好用多线程发送会快一些。
ch2
2021-11-02 15:49:11 +08:00
开 reuse_port ,多线程发送
codehz
2021-11-02 22:09:08 +08:00
绕过内核用 LPDK 一类的解决方案
或者极端点设计专用集成电路

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

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

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

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

© 2021 V2EX