码迷,mamicode.com
首页 >  
搜索关键字:epoll    ( 1282个结果
【Nginx】epoll事件驱动模块
Linux 2.4版本的内核之前,Nginx的事件驱动方式是使用的poll、select函数。进程需要等待连接上有事件发生(收到数据)时,需要把所有连接都告诉内核,由内核找出哪些连接上有事件发生。由于需要把大量连接从用户空间拷贝到内核空间,所以开销巨大,因此,使用poll、select事件驱动方式,最大并发数量只能达到几千。Linux 2.6版本之后添加了epoll函数接口,使得最大并发数量可以达...
分类:其他好文   时间:2014-07-13 17:27:34    阅读次数:311
【Nginx】请求上下文
上下文与全异步web服务器的关系请求上下文指在一个请求的处理过程中,把一些关键的信息保存下来的类似struct这样的结构体。每个http模块都可以有自己的上下文结构体,一般都是在刚开始处理请求时在内存池上分配它,之后当经由epoll、http框架再次调用到http模块的处理方法时,这个http模块可...
分类:其他好文   时间:2014-07-13 08:09:49    阅读次数:218
高性能网络编程 - epoll机制
select系统调用不仅对描述符的数量有限制,而且在高并发的情况下,哪怕只有一个活跃的套接字,也要轮询全部的fd set,而epoll采用回调的事件通知机制,只需要处理活跃的套接字。比如Nginx服务器采用的就是epoll,下面这个程序(当接收到大于10B的数据时)展示了epoll在边沿触发和电平触发的不同表现,在edge-trigger模式下,需要我们的程序一次将这次的事情处理完成(比如把数据全...
分类:其他好文   时间:2014-07-12 23:43:37    阅读次数:307
epoll使用具体解释(精髓)
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:其他好文   时间:2014-07-11 21:29:34    阅读次数:357
Nginx处理stale事件机制分析
Nginx为提高效率采用描述符缓冲池(连接池)来处理tcp连接,一个连接对应一个读事件和一个写事件,nginx在启动的时候会创建好所用连接和事件,当事件来的时候不用再创建,然而连接池的使用却存在stale事件的问题,以下将详细分析Nginx是如何处理stale事件的,该问题涉及到epoll、Nginx连接与事件的相关知识。 1      Epoll的实现原理 epoll相关的系统调用有:e...
分类:其他好文   时间:2014-07-11 08:14:35    阅读次数:295
epoll相关
1) 能不能给一个使用epoll相关API进行IO监控的示例?在>中有一个简单的示例说明epoll相关API的使用, 但是这个示例是非常简单的, 它仅仅关注于如何使用epoll相关函数上面, 如果要更好的使用epoll, 还需要自己动手以及阅读资料.2) epoll和select都属于多路复用IO吗...
分类:其他好文   时间:2014-07-09 18:24:16    阅读次数:201
【Nginx】事件和连接
不同的操作系统对应不同的事件驱动机制,在Linux 2.6之后使用epoll机制,对应的事件驱动模块是ngx_epoll_module。Nginx的ngx_event_core_module模块根据操作系统确定使用哪一个事件驱动模块。事件驱动模块在ngx_module_t的ctx通用接口是ngx_event_module_t,定义如下所示: typedef struct { ngx_st...
分类:其他好文   时间:2014-07-09 12:01:13    阅读次数:230
epoll模型实例
一.epoll概述epoll是linux下的一个系统调用,用来监听大量文件描述符并对其上的触发事件进行处理。它是select/poll的增强版本,也是linux下多路复用io最常用的接口。要理解epoll是什么,首先得清楚什么是多路复用io。用户进行io操作需要经过内核,而如果所请求的io目前不满足...
分类:其他好文   时间:2014-07-08 00:50:02    阅读次数:276
【UNIX】select、poll、epoll学习
三者都是UNIX下多路复用的内核接口,select是跨平台的接口,poll是systemV标准,epoll是linux专有的接口,基于poll改造而成。 select 函数原型: intselect(intn, fd_set*readfds, fd_set*writefds, fd_set*exc....
分类:其他好文   时间:2014-07-03 11:44:36    阅读次数:190
从epoll构建muduo-13 Reactor + ThreadPool 成型
本版是个里程碑版本,可以通过本版了解多线程是如何通过IO线程读/写网络数据的,在前一个版本v0.12重点介绍了基础知识的前提下,本篇着重分析多线程逻辑里最重要的三个方法EventLoop::runInLoop/EventLoop::queueInLoop/EventLoop::doPendingFunctors。下面逐步介绍本版本修改的细节,三个方法放在最后的EventLoop节。...
分类:其他好文   时间:2014-06-30 00:54:45    阅读次数:294
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!