<分区>
我正在尝试创建一个我希望具有高性能要求的服务器。这个问题涉及服务器核心。什么编程思想最能支持快速性能?
- 您是否将套接字分成不同的线程并在每个线程上调用阻塞的 recv()?
- 您是否有一个线程位于 select() 循环中,然后通知另一个线程处理各个端口?
- 您是否有一个线程来处理 select() 和响应?
- 您是否使用了 2 或 3 个端口集群而不是所有端口?
- 如果您使用上面指定的 select,使用阻塞端口与非阻塞端口是否重要?
- 什么 setsockopt 提高了性能:TCP_NODELAY,其他?
我意识到其中一些取决于用例。例如,如果有很多小数据包,关闭 TCP_NODELAY 的 6 将产生负面影响。如果响应微不足道,3 听起来可能会更快。我还没有想到会影响性能的任何其他问题也将不胜感激。