mpm_event is similar to mpm_worker , except that mpm_event manages all KeepAlive connections (not SSL) with a separate dedicated thread, and not with each thread controlling each individual connection. By providing and saving a dedicated stream for each KeepAlive connection, mpm_worker leaves that stream and its resources are tied to this connection, regardless of whether the request is being processed. mpm_event , on the other hand, can reduce the use of system resources in high concurrency environments, allowing the stream and its resources to return back to the system after the requests are completed.
It seems to me that in high concurrency, non-SSL environments where KeepAlive has long timeouts, mpm_event has the potential for a system that can handle a higher workload with equivalent resources than a system with the same resurs using mpm_worker . More importantly, it seems to me that in terms of using resources and functions, mpm_event is at least as good as mpm_worker , if not better, under any circumstances.
Despite my understanding that mpm_event always at least good and possibly better, my favorite Linux distributions use mpm_worker by default when installing Apache 2.4 from repositories. This makes me wonder if my thinking is incomplete and if there is some technical reason I miss to use mpm_worker and not mpm_event in Apache 2.4.
Therefore, I correctly say that mpm_worker is at least as good as mpm_event , if not better, under any circumstances and (2) if not, what technical advantages can be used to use mpm_worker in Apache 2.4?
user636044
source share