2008-6-13 发布了2.2.9版本, 2.2系列是2系列的增强,以及一些内核模块的重新设计和革新,主要增强特性如下:
1: 最主要的增强是使用了新event MPM模型,在Linux上引入了EPOLL(早该引入了), 即支持海量并发连接数,也就是说每个Apache子进程支持65535个TCP连接,这样若配置多个子进程,则支持更多了连接了(当然内核参数需要调整一下)
另外修改了原来的每连接进程/线程模型,使用了单独的线程来处理连接, 支持Prefork和Worker模式, 对于使用开发module的方式,我更倾向于使用worker模式, 可以使用单进程worker模式,也可以使用多进程worker模式,取决于你的moudle的特性,若你的module需要单实例,最好配置成单进程worker模式,这样可以共享数据对象; 另外worker模式使用线程而不是进程来服务请求,因此在2.6内核,线程是一个真正轻量级的线程,比进程轻量很多,创建线程比创建进程消耗系统资源少的多.
由于使用event MPM模型,经过测试,创建60000个连接后,再进行并发调用(100),与100个连接相比,性能没有任何损失,这就是event MPM的好处,不会因为并发连接增加而导致性能急剧下降. 若使用2.0x 系列,则无法创建60000个连接,因为将会消耗60000个进程或线程, 这在普通的Linux服务器上是无法创建出来的,除非做内核调整和高性能机器
2: 支持大文件
该版本支持在32位系统下,支持大于2G的文件
3: 代理
引入了新的代理模快 mod_proxy_balancer ,支持负载均衡, 新的mod_proxy_ajp module 添加了支持AJP1.3协议
该版本还增强了其他许多特性(相比2.0x系列),如:
Authn/Authz
Cache
Regular Expression Library Updated
Smart Filtering