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连接,相应一个连接池。请求结束时连接池被销毁。