RPC TCP 常用参数设置
长连接一些常用配置
SO_REUSEPORT
linux kernel 3.9 支持此参数配置。建议不开启
linux
The new socket option allows multiple sockets on the same host to bind to the same port, and is intended to improve the performance of multithreaded network server applications running on top of multicore systems
SO_REUSEPORT支持多个进程或者线程绑定到同一端口,提高服务器程序的性能,解决的问题:
- 允许多个套接字 bind()/listen() 同一个TCP/UDP端口
- 每一个线程拥有自己的服务器套接字
- 在服务器套接字上没有了锁的竞争
- 内核层面实现负载均衡
- 安全层面,监听同一个端口的套接字只能位于同一个用户下面
SO_REUSEADDR
在端口释放后,可以被再次使用。在windows 不要开启次选项
windows上只有SO_REUSEADDR选项,没有SO_REUSEPORT。在window