1. Memcached如何支持高并发
Memcached使用多路复用I/O模型。传统阻塞I/O中,系统可能随时因为某个用户连接还没做好I/O准备而一直等待,知道这个连接做好准备。如果这是有其他的用户连接服务器,就很可能因为系统阻塞得不到响应。
而多路复用I/O是一种消息通知模式,用户连接做好I/O准备后,系统才会通知我们这个连接可以进行I/O操作。这样就不会阻塞在某个用户连接...
分类:
系统相关 时间:
2015-07-07 17:06:47
阅读次数:
212
原理:select函数会等待,直到描述符句柄中有可用资源(可读、可写、异常)时返回,返回值是可用资源(可读/可写/异常等)描述符的个数(>0),0代表超时,-1代表错误。具体到内核大致是:当应用程序调用select() 函数, 内核就会相应调用 poll_wait(), 把当前进程添加到相应设备的等...
分类:
其他好文 时间:
2015-02-12 12:19:56
阅读次数:
168
Select函数实现原理分析(转载) select需要驱动程序的支持,驱动程序实现fops内的poll函数。select通过每个设备文件对应的poll函数提供的信息判断当前是否有资源可用(如可读或写),如果有的话则返回可用资源的文...
分类:
Web程序 时间:
2015-02-02 16:12:50
阅读次数:
190
Reactor模式和NIO本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. ...
分类:
其他好文 时间:
2014-12-31 17:48:08
阅读次数:
291