Apache 2.4
版本开始已经尝试借鉴Nginx
的实现方式来处理网络连接。但是到目前(2017.2.22)为止,实现的并不彻底,只是在处理HTTP
协议的时候使用异步模式,而处理HTTPS
协议的时候,依旧使用每个连接一个线程的模式。据说完整的支持HTTPS
异步,要到Apache 3.x
版本了。
目前的Apache MPM event
本质上还是Apache MPM worker
的优化版本,并不是一个完整的独立模式。
尽管支持的不是太完善,但是这部分的实现,已经能比较好的改善Apache 2.4
的网络处理性能了,尤其是对于我这种访问压力不是太大的网站来说,目前应该是够用了的。暂时可以缓解一下迁移到Nginx
的急迫性,并且比较好的减少访问网站时候的延迟比较高的问题。
到目前(2017.2.22)为止在Ubuntu 14.04.5
版本上Apache Event MPM
还不属于正式版本,而是被部署到了backports
(待发布)分支上,处于候选发布状态,因此我们安装的时候,需要执行指定backports
,具体执行命令如下:
1 |
$ sudo apt-get -t trusty-backports install apache2-mpm-event |
模块的配置文件在/etc/apache2/mods-available/mpm_event.conf
,目前我这边用默认配置已经足够了(足见访问量是多么的少,呵呵)。
启用Apache MPM event
模块
1 2 3 4 5 6 7 |
$ sudo a2dismod mpm_worker $ sudo a2dismod mpm_prefork $ sudo a2enmod mpm_event $ sudo service apache2 restart |
查询Apache 2.4
当前正在使用的模块
1 |
$ a2query -M |
返回值会是event
, prefork
, worker
中的一个,如果返回了event
,则说明我们已经成功启用了Apache MPM event
模块。
目前实际测试来看,确实能非常明显的加快网站的访问速度,访问延迟明显变短。