本文提到的Nginx配置,需要较高版本Linux内核才支持。在实际生产环境中,升级服务器内核不是一件容易事儿,但为了更好的性能,有些升级还是必须的。
TCP优化
1 | http { |
1 | 1) sendfile: |
1 | 另外,还有一个 TCP 优化策略叫 TCP Fast Open(TFO),TFO 的作用是用来优化 TCP 握手过程。客户端第一次建立连接还是要走三次握手,所不同的是客户端在第一个 SYN 会设置一个 Fast Open 标识,服务端会生成 Fast Open Cookie 并放在 SYN-ACK 里,然后客户端就可以把这个 Cookie 存起来供之后的 SYN 用。下面这个图形象地描述了这个过程: |
需要注意的是,现阶段只有 Linux、ChromeOS 和 Android 5.0 的 Chrome / Chromium 才支持 TFO,所以实际用途并不大。
1 | Nginx 1.9.1增加了 reuseport 功能,意味着 Nginx 也开始支持 TCP 的 SO_REUSEPORT 选项了。 |
Socket优化
1 | 由TCP头部结构可以了解到,源端口到目的端口范围是0-31,源端口16位,目的端口也是16位。换算一下,端口范围是 2^16=65536, 那为什么都说最大是65535呢? 因为端口是从0开始算起的,也就是0-65535,但是0属于保留端口,这么说就明白了是吧? 也就是说一台服务器最多支持这么多socket连接。 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2017/08/31/nginx优化/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!