Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Apache can use event-driven non-blocking IO too, as well as the more traditional thread-per-connection mode.


Apache'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


This 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.


In 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

  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?




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: