T2000 apache, prefork or worker?

These tests were done with 2.2.3 prefork and 2.2.4 with worker. Both of them were tested with mem_cache and without. mem_cache seemed to really improve the performance of prefork but it didn’t do anything for worker, it actually hurt the performance by a little bit. Worker also seemed to drop a core file when it got too much traffic. The index.html is a small 175 byte file that loads a 5 of the apache powered by gif files and the httpd.conf were both stripped with minimal modules loaded. From the transfer rate apache bench shows I think the bottleneck here is the network.

The mem_cache settings:

CacheEnable mem /
MCacheSize 320000
MCacheMaxObjectCount 1000
MCacheMinObjectSize 1
MCacheMaxObjectSize 4048

Apache 2.2.3, prefork with mem_cache (-n 100000 -c 1000):

Requests per second: 11566.21 [#/sec] (mean)

Apache 2.2.3, prefork without mem_cache (-n 100000 -c 1000):

Requests per second: 9492.40 [#/sec] (mean)

Apache 2.2.4, worker with mem_cache (-n 100000 -c 1000):

Requests per second: 12118.41 [#/sec] (mean)

Apache 2.2.4, worker without mem_cache (-n 100000 -c 1000):

Requests per second: 12413.07 [#/sec] (mean)

4 Responses to “T2000 apache, prefork or worker?”

  1. Matty Says:

    I prefer the event MPM over the prefork and worker MPMs, since the event MPM now supports event ports, and scales better than the worker MPM. That said, I believe the event MPM is still classified as a work in progress, so it’s not for the faint of heart. We are currently using it to serve static content, and it rocks on Solaris 10!!

    - Ryan

  2. Steve Says:

    What happens if you run these tests using libmtmalloc ?

  3. Derek Says:

    Just tested it, didn’t make much of a difference.

  4. KonstantinMiller Says:

    Hello, can you please post some more information on this topic? I would like to read more.

Leave a Reply