Nginx-内存池

简介: Nginx-内存池

系列文章目录


Nginx资源目录简介

第一章 Nginx学习入门之内存池分析


Ngxin内存池简介


Nginx的内存池是内存的管理的一个特色,内存池的使用提高了对于内存的使用效率。Nginx 对于内存池使用是依赖于每个连接的。内存池的核心作用是避免操作系统分配过程当中产生小碎片。


提示:以下是本篇文章正文内容,下面案例可供参考


一、nginx内存池结构体?


nginx内存池涉及文件ngx_palloc.h和ngx_palloc.c这两个文件。

typedef struct ngx_pool_large_s  ngx_pool_large_t;
/**
 * @brief Nginx 大块
 * 
 */
struct ngx_pool_large_s {
    ngx_pool_large_t     *next;
    void                 *alloc;
};
/**
 * @brief ngx 小块
 */
typedef struct {
    u_char               *last;      /**< 可以使用的内存的开始位置*/
    u_char               *end;        /**小块内存的最大位置*/
    ngx_pool_t           *next;       /**< 指向下一块内存小块*/
    ngx_uint_t            failed;
} ngx_pool_data_t;
/**
 * @brief Nginx 内存池是管理一个大块的集合和小块的集合
 * 
 */
struct ngx_pool_s {
    ngx_pool_data_t       d;         /**ngix 内存池的数据小块内存*/
    size_t                max;       /**< nginx pool 的大小 */
    ngx_pool_t           *current;   /**< nginx pool 当前位置*/
    ngx_chain_t          *chain;
    ngx_pool_large_t     *large;      /**< nginx pool 大块内存*/
    ngx_pool_cleanup_t   *cleanup;
    ngx_log_t            *log;
};


二、使用步骤


1.Ngix 内存池原理

Ngix 大块示意图:


nginx 小块示意图


内存作用范围

代码如下(示例):TODO


总结


提示:这里对文章进行总结:

目录
相关文章
|
存储 网络协议 应用服务中间件
Nginx源码阅读:ngx_palloc 内存池
Nginx源码阅读:ngx_palloc 内存池
306 1
|
应用服务中间件 nginx C++
nginx内存池源码剖析
小块内存使用尾插法,大块内存使用头插法,大块内存申请挂载时如果前面三个节点都有对象,则不再向后遍历,直接创建一个节点插在头部如果一个小块内存超过四次都没有成功分配出内存,则认为他已经没有足够的内存了,则会抛弃(之后不在考虑在这个节点上分配内存)小块内存节点的内存不回收,但是大内存块的节点可以回收,提供回收方法内存对齐,多处内存对齐减少内存跨 cache 的数量。
199 0
nginx内存池源码剖析
|
应用服务中间件 nginx
简单理解Nginx内存池:优化性能的关键
简单理解Nginx内存池:优化性能的关键
3784 0
|
存储 网络协议 Java
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
内存池组件以及根据nginx内存池源码设计实现简易内存池
|
应用服务中间件 nginx 机器学习/深度学习
nginx中的内存池
http://www.cnblogs.com/sld666666/archive/2010/06/27/1766255.html 1.为什么需要内存池     为什么需要内存池? a. 在大量的小块内存的申请和释放的时候,能更快地进行内存分配(对比malloc和free) b.减少内存碎片,防止内存泄露。
941 0
|
机器学习/深度学习 算法 应用服务中间件
Nginx源码剖析之内存池和内存管理
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
1040 0
|
3月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
333 1
|
7月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
734 87
|
7月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。