event(MPM)
优质
小牛编辑
153浏览
2023-12-01
说明 | 一个标准worker MPM的实验性变种。 |
---|---|
状态 | MPM |
模块名 | mpm_event_module |
源文件 | event.c |
概述
警告
这是一个实验性的MPM,因此可能未必按照期望的方式工作。
[译者注]
事实上,这个MPM除了在应用于HTTPS以及配合输入过滤器工作时可能会出现故障外,其它场合和worker
一样稳定,工作方式也类似,并且在性能上优于worker
,特别是开启KeepAlive
时优势更加明显。
event
多路处理模块(MPM)被设计成面向需要处理大量并发连接的场合(特别是在开启KeepAlive
的场合),它基于worker
开发,并且配置指令与worker
完全相同。
要使用event
MPM,你必须在配置脚本configure
的命令行上使用--with-mpm=event
选项。
该MPM依赖于APR用于线程同步的compare-and-swap原子操作,并且你还需要在configure
命令行上使用--enable-nonportable-atomics=yes
选项。如果你为x86平台编译,那么最低要求i486以上的CPU支持;如果你为SPARC平台编译,那么最低要求UltraSPARC芯片。因为更老的CPU不支持compare-and-swap原子操作。
该MPM不能在缺乏良好线程支持的平台上正常工作,特别是缺乏EPoll或KQueue支持的平台。
- 对于FreeBSD,最低要求 FreeBSD 5.3 及以上的版本。
- 对于NetBSD,最低要求 2.0 及以上的版本。
- 对于Linux,最低要求2.6及以上版本的内核。并且还需要确保你使用的
glibc
具有EPoll支持(译者注:推荐使用glibc-2.6.1及以上的版本)。