LNMP架构:linux + Nginx + mysql + php;在静态页面上处理,nginx完胜apache,基本可以超出一倍以上,对于高性能,高并发来说,nginx可以针对100000并发(实际可能要低些),nginx的io机制使用的是epoll,而apache采用的是select机制。Ng...
分类:
其他好文 时间:
2015-02-27 20:05:04
阅读次数:
189
文中所有的Proactor模式,均指模拟Proactor模式,而不是操作系统级别的Proactor 先说下Erlang的check_io是做什么用的。Erlang中的check_io实质是调用系统的epoll/select/kevent/poll对IO事件进行检查。 那么问题就...
分类:
其他好文 时间:
2015-02-27 06:41:03
阅读次数:
190
http线程池的主要用途是异步处理使用无状态短连接的http请求,在传输层通信基于tcp协议和应用层基于http协议的基础上,达到c++服务器与web服务器通信的目的。
设计上:
(1)服务器启动时,初始化配置数量的线程(形成被动连接线程池)。每个线程会生成epoll描述符。
(2)主线程生成监听socket,绑定端口。生成epoll描述符,注册监听socket,非阻塞接收(限定最大时间,如...
分类:
编程语言 时间:
2015-02-25 18:40:10
阅读次数:
277
http://blog.chinaunix.net/uid-17299695-id-3059078.htmlET模式仅当状态发生变化的时候才获得通知,这里所谓的状态的变化并不包括缓冲区中还有未处理的数据,也就是说,如果要采用ET模式,需要一直read/write直到出错为止,很多人反映为什么采用ET...
分类:
其他好文 时间:
2015-02-16 15:32:25
阅读次数:
169
http://blog.csdn.net/summerhust/article/details/18260117 select用到了fd_set结构,此处有一个FD_SETSIZE决定fd_set的容量,FD_SETSIZE默认1024,可以通过ulimit -n或者setrlimit函数修改之。 ...
分类:
其他好文 时间:
2015-02-16 15:31:55
阅读次数:
156
最近要对一个用libevent写的C/C++项目进行修改,要改成多线程的,故做了一些学习和研究。libevent是一个用C语言写的开源的一个库。它对socket编程里的epoll/select等功能进行了封装,并且使用了一些设计模式(比如反应堆模式),用事件机制来简化了socket编程。libeve...
分类:
编程语言 时间:
2015-02-10 23:11:03
阅读次数:
315
原创性申明
本文作者:小竹zz 博客地址:http://blog.csdn.net/zhujunxxxxx 转载请注明出处
引言
我一直在探寻一个高性能的Socket客户端代码。以前,我使用Socket类写了一些基于传统异步编程模型的代码(BeginSend、BeginReceive,等等)也看过很多博客的知识,在linux中有poll和epoll来实现,在windows下面
微软MSD...
libevent接口的使用是简单easy的、关键还是一些其他技术须要深入了解、如epoll!以下文章来自open经验库:libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库。整体来说,libevent有以下一些特点和优势:* 事件驱动,高性能;* 轻量级,专注...
分类:
其他好文 时间:
2015-02-05 09:27:15
阅读次数:
126
Gevent是一个基于greenlet的Python的并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。 于greenlet、eventlet相比,性能略低,但是它封装的API非常完善,最赞的是提供了一...
分类:
编程语言 时间:
2015-02-03 19:49:51
阅读次数:
216
apr 官方介绍:Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术。APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括访问高级IO功能(例如sendfile,epoll...
分类:
其他好文 时间:
2015-01-31 15:57:58
阅读次数:
212