Kev*_* S. 7 sockets linux optimization performance
似乎有几个选项可用于处理大量套接字连接的程序(例如Web服务,p2p系统等).
在多核CPU上,我希望#5或#6具有最佳性能,但我没有任何硬数据支持这一点.搜索网页出现了这个页面,描述了上面作者测试方法#2,#3和#4的经验.不幸的是,这个网页似乎是7岁左右,没有明显的最新更新.
所以我的问题是,哪些方法让人们发现效率最高和/或是否有另一种方法比上面列出的方法更好?将赞赏对现实生活图,白皮书和/或网络可用书面的参考.
我广泛使用 epoll(),并且它表现良好。我通常有数千个活动套接字,并使用多达 131,072 个套接字进行测试。而 epoll() 总是可以处理它。
我使用多个线程,每个线程轮询套接字的子集。这使代码变得复杂,但充分利用了多核 CPU。