APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等等),本地进程管理(共享内存,NT管道和U...
分类:
Web程序 时间:
2015-05-17 00:37:07
阅读次数:
198
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:
其他好文 时间:
2015-05-16 20:28:52
阅读次数:
134
GoLang之协程目前,WebServer几种主流的并发模型:多线程,每个线程一次处理一个请求,在当前请求处理完成之前不会接收其它请求;但在高并发环境下,多线程的开销比较大;基于回调的异步IO,如Nginx服务器使用的epoll模型,这种模式通过事件驱动的方式使用异步IO,使服务器持续运转,但人的思...
分类:
其他好文 时间:
2015-05-15 17:22:28
阅读次数:
116
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:
其他好文 时间:
2015-05-15 15:09:26
阅读次数:
122
epoll - I/O event notification facility在linux的网络编程中,非常长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的优点在于它不会随着监听fd数目的增长而减少效率。由于...
分类:
其他好文 时间:
2015-05-14 16:21:42
阅读次数:
116
在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。nginx同时是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Nginx是一款面向性能设...
分类:
其他好文 时间:
2015-05-13 14:47:22
阅读次数:
135
阻塞socket。 –阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。 –对于文件操作read,fread函数调用会将线程阻塞。 –对于socket,accept与recv、recvfrom函数调用会将线程阻塞。 –为了避免整个进程被阻塞后挂起,所以在阻塞模式...
分类:
其他好文 时间:
2015-05-12 08:09:28
阅读次数:
233
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是...
分类:
其他好文 时间:
2015-05-11 06:42:48
阅读次数:
119
1、基本知识 epoll是在2.6内核中提出的(mac没有),是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述...
分类:
其他好文 时间:
2015-05-09 20:40:53
阅读次数:
165
花了一周时间,研究了java里面的nio和netty,其实nio很好理解,用过c语言的,都应该知道select和epoll,nio和select和epoll非常类似,使用方法和解决的问题也都是一样的。
至于netty,不得不钦佩java语言的框架技术,虽说这个框架研究起来非常费劲,但是对于上层使用者,使用这个netty框架,会帮我们解决很多性能、稳定性问题。同时,使用框架,也会大大提高开发效率。...
分类:
Web程序 时间:
2015-05-09 16:35:12
阅读次数:
168