当前位置: 首页 > article >正文

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(7)

详解(7)


初始化可重用连接队列

    ngx_queue_init(&cycle->reusable_connections_queue);

初始化可重用连接队列
cycle->reusable_connections_queue 初始化为一个空的双向链表(队列),用于管理可重用的空闲连接(ngx_connection_t)。

ngx_queue_t 是 Nginx 的双向链表节点结构

ngx_queue_init(q) 宏会将队列的 prevnext 指针均指向自身,表示队列为空。

队列用途
reusable_connections_queue 存储当前未被使用的连接对象(如已关闭的 TCP 连接),这些连接可被重新分配以避免频繁创建/销毁的开销。

频繁调用 accept() 创建新连接会导致性能下降,而重用空闲连接可显著降低延迟。

资源复用
当连接关闭时,Nginx 不会立即释放其资源(如套接字、内存),而是将其放入 reusable_connections_queue,等待后续请求复用。

在内存紧张时,可通过调整队列大小(worker_connections)动态平衡资源。


ngx_queue_init


http://www.kler.cn/a/566225.html

相关文章:

  • 地弹与振铃
  • 1-6静态库和动态库
  • 解释Promise的工作原理及其状态
  • windows上执行scp命令
  • DMA发送全部历史记录数据到串口
  • Spring全家桶简介
  • Blender调整最佳渲染清晰度
  • 如何配置虚拟机的IP上网
  • 纯代码实战--用Deepseek+SQLite+Ollama搭建数据库助手
  • yolo位姿估计实验
  • idea不同的项目使用不同的java版本
  • Linux操作系统5-进程信号2(信号的4种产生方式,signal系统调用)
  • 【Linux网络编程】五种IO模型 多路转接(select)
  • Windows文件资源管理器左侧导航窗格没有WSL的Linux图标的解决方法
  • Python 课堂点名桌面小程序
  • C++11:工厂方法模式
  • Java中的ArrayDeque
  • AF3 DataPipeline类process_multiseq_fasta 方法解读
  • 代理服务器与内网穿透/打洞
  • MVCC,MySQL中常见的锁