【发布时间】:2020-03-26 21:48:09
【问题描述】:
背景参考...
https://lwn.net/Articles/542629/
https://blog.n0p.me/2018/02/2018-02-20-portsharding/
我很好奇这个功能在同一个线程上使用多个监听器的效果如何?
例如,假设我的服务器强制限制 100 个连接。使用像 ASIO 这样的框架,它是否可以简单地创建一个包含 100 个连接对象的池,每个对象都异步侦听,直到它接受一个连接?这真的更像是拥有 100 个单连接服务器。
同一线程上的多个侦听器的性能是否与单个侦听器相同或更差?
[edit] 我认为监听积压可能是个问题。即使 backlog 设置为一个,第二个连接也可以在第一个连接被接受后立即排队,并且关闭端口可能会 RST 连接而不是将其迁移到另一个侦听 backlog。
【问题讨论】:
标签: linux boost-asio asio so-reuseport