nginx内存池

时间:2023-03-10 02:03:07
nginx内存池

一、设计原则

(1)降低内存碎片

(2)降低向操作系统申请内存的次数

(3)减少各个模块的开发效率

二、源代码结构

struct ngx_pool_s {

    ngx_pool_data_t       d;

    size_t                max;

    ngx_pool_t           *current;

    ngx_chain_t          *chain;

    ngx_pool_large_t     *large;

    ngx_pool_cleanup_t   *cleanup;

    ngx_log_t            *log;

};

三、达到的效果:

(1)向操作系统申请内存次数降低,使得请求运行时延得到降低。

(2)降低内存碎片,可以提高内存利用率及处理并发连接数;

每个TCP连接,相应一个连接池。请求结束时连接池被销毁。