http://www.cnblogs.com/Anker/p/3263780.html
1、基本知识
epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。
http://www.cnblogs.com/Anker/p/3263780.html
1、基本知识
epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。
以前一直写结构体时都是用char *data来表达结构体存储可变的数据,这样的做法是非常正常也是常用的形式,前段时间看部分代码时发现一个结构中包含char data[0],第一次见到非常不理解,数组的长度居然可以为0?当时就google了一下,发现很多Linux上的源码中都采用char data[0],想到大神们都采用这种写法,说明这种写法肯定有隐藏着非常观的空间优势或者操作上的方便。为此我决定写个demo来测试一下
http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html
1、基本概念
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:
http://www.cnblogs.com/Anker/archive/2013/08/15/3261006.html
1、基本知识
poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。
Sphinx是出自俄罗斯的开源全文搜索引擎软件,单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。
Sphinx创建索引的速度为:创建100万条记录的索引只需3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。
因业务需要,决定采用阿里的OSS与多媒体转码功能,用来处理上传后进行视频添加水印和视频转码成低清跟高清等。当然在这里不是说如何实现,而是吐槽下阿里的API说明文档。