码迷,mamicode.com
首页 >  
搜索关键字:epoll    ( 1282个结果
nginx的请求接收流程(一)
今年我们组计划写一本nginx模块开发以及原理解析方面的书,整本书是以open book的形式在网上会定时的更新,网址为http://tengine.taobao.org/book/index.html。本书分析的nginx源码版本为1.2.0,环境为linux,事件处理模型为epoll,大部分分析...
分类:其他好文   时间:2014-12-21 22:06:58    阅读次数:193
selector的理解
对于nio这块估计在几年前就有关注,知道非阻塞,线程池,缓冲池,io的模式select,poll,epoll,甚至epoll中的et,lt.但是最近才有时间实际看了看netty的源码,才发现原来selector可以这么用,在我的印象中觉得一个服务其实一个selector就够用了,并且本身对...
分类:其他好文   时间:2014-12-19 11:59:26    阅读次数:164
阻塞、非阻塞、异步、同步以及select/poll和epoll
针对IO,总是涉及到阻塞、非阻塞、异步、同步以及select/poll和epoll的一些描述,那么这些东西到底是什么,有什么差异? 一般来讲一个IO分为两个阶段: 等待数据到达把数据从内核空间拷贝到用户空间 现在假设一个进程/线程A,试图进行一次IO操作。 A发出IO请求,两种情况:   1)立即返回   2)由于数据未准备好,需要等待,让出CPU给别的线程,自己s...
分类:其他好文   时间:2014-12-18 16:57:48    阅读次数:573
Linux Epoll模型(1) --理论与实践
引言: 相比于select,Epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE    1024    表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这...
分类:系统相关   时间:2014-12-14 12:00:20    阅读次数:412
[转]谈谈select, iocp, epoll,kqueue及各种网络I/O复用机制
参考原文:再谈select, iocp, epoll,kqueue及各种I/O复用机制一、I/O模型概述 介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (selectandpoll)signal driven I...
分类:其他好文   时间:2014-12-12 19:01:00    阅读次数:114
SquirrelMQ消息队列
SquirrelMQ是一个快速的消息队列。SquirrelMQ特性:1. SquirrelMQ使用Slab内存分配算法来降低内存碎片,使用epoll来解决高并发问题。效率比redis要高,使用简单。2. 另外SquirrelMQ支持持久化,在down机的情况下也不用担心数据丢失。3. Squirre...
分类:其他好文   时间:2014-12-09 19:23:12    阅读次数:346
为何Boost的asio要使用proactor模式实现?
Linux下高性能的网络库中大多使用的Reactor 模式去实现,Boost Asio在Linux下用epoll和select去模拟proactor模式,影响了它的效率和实现复杂度, 看陈硕的自己的Linux下Reactor网络库和ASIO的性能对比,大概比asio性能...
分类:其他好文   时间:2014-12-08 14:02:46    阅读次数:207
epoll和select区别
先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1...
分类:其他好文   时间:2014-12-07 23:03:26    阅读次数:259
linux内核epoll实现分析
epoll与select/poll的区别      select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的操作。      select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时...
分类:系统相关   时间:2014-12-06 14:07:16    阅读次数:326
多种I/O模型及其对socket效率的改进
在读redis源代码的过程中,我一直在考虑一个问题,就是“为什么单线程的redis能做到如此高效?”。为了弄清楚这个问题,我查阅了一些资料,大概搞清楚了epoll等I/O模型的发展及其原理,以下是一个记录整理。##I/O模型###操作系统与网络I/O上图来自维基百科,是一个基本的计算机..
分类:其他好文   时间:2014-12-04 18:15:00    阅读次数:293
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!