4 ms·
Nginx is widely regarded to be much more efficient than Apache, as it using non-blocking IO. I believe Nginx does support HTTP/1.1 now.
by alexchamberlain 14y ago
Nginx is widely regarded to be much more efficient than Apache, as it using non-blocking IO. I believe Nginx does support HTTP/1.1 now.
- chc 14y agoApache can use event-driven non-blocking IO too, as well as the more traditional thread-per-connection mode.
- harshreality 14y agoApache's event MPM is not really an event MPM. It's a slightly modified worker MPM. It puts all idle connections (keepalive state) and listeners in a single thread. Each active connection gets its own thread. The event MPM also behaves the same as the worker MPM for SSL connections. http://httpd.apache.org/docs/2.4/mod/event.html http://httpd.apache.org/docs/2.4/mod/event.html
- pquerna 14y agoThis is incorrect for Apache 2.4: In 2.4 there is async write completion. SSL behavior is still like the worker MPM, due to design issues in mod_ssl and filter stack. This is unlikely to change until 3.0.
- harshreality 14y agoIn what sense is Apache 2.4.2's event mpm event-based when this is the result of siege -c 1000 http://hostname:port/sample.txt http://hostname:port/sample.txt server-info selections MPM Name: event MPM Information: Max Daemons: 1 Threaded: yes Forked: yes server-status selections 1550 requests/sec - 1.6 GB/second - 1.1 MB/request 9 requests currently being processed, 41 idle workers W__W_____W_W_______R______W______W_______W__W_____.............. ................................................................ ...................... If those are asynchronous response writing handlers in the sense that they could be handled by an event loop, why do they have their own threads?