Nginx 连接吞吐:如何配置 listen 指令的 deferred 参数让 HTTPS 套接字在真正收到加密数据时才激活 Worker

冰川箭仙

冰川箭仙

2026-06-24

611人浏览

原创

deferred 是 tcp 层优化参数,仅影响三次握手完成后、accept() 前的连接排队行为,不干预 tls 握手或 worker 激活时机;在 https 中有效但仅限于提升 tcp 连接接纳效率。

nginx 连接吞吐:如何配置 listen 指令的 deferred 参数让 https 套接字在真正收到加密数据时才激活 worker

deferred 参数不是用来“让 HTTPS 套接字在真正收到加密数据时才激活 Worker”的——这个理解存在根本性偏差。它实际作用是优化 TCP 连接建立阶段的内核行为,与 TLS 握手、Worker 激活时机、或“延迟解密”完全无关。

下面直接说清楚关键点:

deferred 的真实作用

只影响 listen 指令绑定的 TCP socket 在 accept() 系统调用前的行为

  • 启用后,内核会把已完成三次握手(SYN_RECV → ESTABLISHED)但尚未被 Nginx 调用 accept() 取出的连接,暂存在更高效的队列中;
  • 避免因 Worker 进程忙于处理已有请求,导致新连接在 accept 队列中堆积超时(net.ipv4.tcp_abort_on_overflow=1 时会被丢弃);
  • 本质是减少 accept() 调用开销 + 缓冲已建连但未取走的连接,不干预 TLS 握手过程,也不推迟 Worker 处理

HTTPS 场景下 deferred 是否有效?

✅ 有效,但仅限于 TCP 层:

Nginx
Nginx

在宝塔面板中轻松管理Nginx高性能Web服务器。提供可视化配置反向代理、负载均衡、SSL证书及HTTP缓存功能,一键优化高并发性能,助您高效搭建稳定、快速的网站运行环境。

下载
  • TLS 握手仍由 Worker 进程完成(ssl_handshakeaccept() 后发生);
  • deferred 让连接更快进入 ESTABLISHED 状态并排队等待 accept(),不加速或延迟证书交换、密钥协商等 TLS 步骤;
  • 它对高并发短连接(如大量 HTTPS 建连)有收益,对长连接或 TLS 处理瓶颈无帮助。

如何正确配置(含 HTTPS)

server {
    listen 443 ssl deferred;  # ✅ 放在 listen 行末,仅对 TCP 生效
    server_name example.com;
    ssl_certificate /etc/nginx/ssl/example.com.pem;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    # 其他 SSL 配置...
}

注意:

  • deferred 仅支持 Linux(依赖 TCP_DEFER_ACCEPT socket 选项);
  • 不可与 reuseport 同时使用(Nginx 会报错);
  • 若启用了 epoll(默认),效果更明显;select/poll 下无效。

真正影响 HTTPS 吞吐的配置项

若目标是提升 HTTPS 并发处理能力,应关注这些:

  • worker_processes auto; + worker_connections 65536;(调整进程与连接上限)
  • ssl_session_cache shared:SSL:10m; ssl_session_timeout 4h;(复用会话,省去完整握手)
  • ssl_buffer_size 4k;(平衡小包延迟与吞吐)
  • http_v2 on;(启用 HTTP/2 减少连接数)
  • tcp_nodelay on;(禁用 Nagle,加快 TLS 记录发送)

deferred 是 TCP 层微优化,不是 TLS 层开关。把它当作“让 Worker 懒加载 HTTPS 连接”的手段,会误导调优方向。

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

相关标签:

nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

618

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1216

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

429

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1034

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1850

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

323

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习