Nginx
文章平均质量分 85
PenyChow
这个作者很懒,什么都没留下…
展开
-
Nginx 进程间通信
Linux下的IPC很多,nginx的进程都是有亲缘关系的进程,对于他们的通信我们选择TCP socket进行通信。 TCP socket 用来做进程通信的好处有, 1.socket是文件描述符,操作简单。 2.双向流动。3.另外还有一个重要好处:可记录可重现,我们可以用tcpdump抓取信息,方便调试。当然对于进程间大量数据的共享 自然而然的我们采用共享内存。原创 2014-05-05 14:22:47 · 1455 阅读 · 0 评论 -
Nginx系列二 slab分配器
nginx的slab分配器主要和共享内存(nginx自己实现的共享内存 采用mmap或者shm实现)一起使用,Nginx在解析完配置文件,把即将使用的共享内存全部以list链表的形式,对共享内存进行管理和划分。在nginx_cycle.c中static ngx_int_tngx_init_zone_pool(ngx_cycle_t *cycle, ngx_shm_zone_t *zn){原创 2014-05-05 21:19:21 · 1185 阅读 · 0 评论 -
Nginx系列三 内存池的设计
Nginx的高性能的是用很多细节来保证,epoll下的多路io异步通知,阶段细分化的异步事件驱动,那么在内存管理这一块也是用了很大心血,上一篇我们讲到了slab分配器,我们可以可以看到那是对共享内存的管理的优化。Nginx在进程内也实现了自己的内存池,目的在于减少内存碎片,减少向操作系统的申请次数,减低模块开发难度。Nginx实现的内存池实际上非常简单。原创 2014-05-07 16:04:17 · 1035 阅读 · 0 评论