nginx
文章平均质量分 55
nginx高性能模块剖析
AlexanderGan
Focus on VM & Compiler Now.
展开
-
nginx_图解nginx关键数据结构_双向链表ngx_queue_t
nginx_图解nginx关键数据结构_双向链表ngx_queue_t一、结构解析 ngx_queue_t是一种环形双向链表的数据结构,这个链表不会负责分配内存来存放元素,ngx_queue_t只是将已经分配好内存的元素用双向链表连接起来。 链表的优势在于,可以高效的执行插入、删除、合并等操作。移动链表元素的时候只需要修改链表的指向,因此适合频繁修改容器的情况。 nginx中,ngx_queue_t主要功能有 (1)实现了简单的插入排序 (2)支持两个链表的合并与拆分 (3)获取原创 2021-04-26 21:53:16 · 271 阅读 · 0 评论 -
nginx_图解nginx关键数据结构_链表ngx_list_t
nginx_图解nginx关键数据结构之ngx_list_t1、ngx_list_t的定义 ngx_list_t是nginx中封装的链表,与普通链表不同的是,每个链表元素中又挂载了一个连续内存空间,也可以理解为挂载了一个数组。ngx_list_t定义在nginx/src/core/ngx_list.h文件中,下面来看看代码:typedef struct ngx_list_part_s ngx_list_part_t;//链表元素struct ngx_list_part_s { voi原创 2020-12-02 17:30:33 · 321 阅读 · 0 评论 -
nginx_图解nginx关键数据结构内存池 ngx_pool_t
nginx关键源码分析_内存池1 为什么需要nginx内存池? 1)对于HTTP服务器而言,“每秒处理请求数”是非常关键的性能指标。在高并发的情况下,利用malloc/free频繁的进行系统调用,降低了系统的执行效率。在nginx中,内存池提前分配大块内存,统一的释放,减少使用系统调用,有效的提高系统的执行效率。 2)像前文提到的,内存碎片也是一个严重的问题,使用内存池可以有效的减少内存碎片带来的问题。 3)在使用malloc/free时,常常容易出现内存泄露的问题。nginx在内存池生命周期原创 2020-05-10 20:39:22 · 429 阅读 · 0 评论