2.2.2005 & Tenon benchmarked Apache2 on a Mac mini. A $500 1.25Ghz Mac mini was easily able to handle 1000 hits per second, producing 20Mbs of data, more than half the performance of a $2000 dual-G5!

The tests measured the performance of a 1.25Ghz Mac mini compared to a 1.8Ghz dual-G5. Both servers were running Mac OS X 10.3.7 and the Apache 2.0.50 web server under iTools. The Mac mini had been outfitted with an extra 256MB of memory, otherwise the system was a stock release from Apple. The dual-G5 also had 512MB of memory and a 140GB disk - also a readily available stock Apple configuration for about $2145.

Measurement Background

The measurement strategy was not to try to wring the last vestiges of performance out of each machine, but rather to produce a benchmark that everyone should be able to achieve. There were no special configurations or system tuning. Although it would have improved measurement results, no web page caching was employed. Instead the 100 Mbps network was generally quiescent. The Ethernet interfaces were configured to full-duplex. A modest amount of processor performance was still available, even while the tests were ongoing, to support normal system maintenance, ISP overhead, or other necessary activity common to an operational web server.

Measurement Approach

The Apache Bench (ab) application was used to generate and measure a synthetic HTTP traffic profile. The offered test client population was increased by using 1, 2, 4, 8, 16, and, finally, 32 simultaneous threads to make one million requests for a 2K file. The one million requests make up for any system anomalies. The increasing number of simultaneous requests was able to fully measure the performance of each machine; as 16 and 32 simultaneous clients were measured, the results peaked and then asymptotically declined.

Measurement Results

The results are composed of the number of measured hits per second, the kilobytes per second of data transferred, and the number of simultaneous client threads, making a combined total of one million requests.

Mac mini:

  Clients                Hits/Sec.    Kbytes/Sec.
  1                         790          1598
  2                         900          1820
  4                         1065         2152
  8                         1239         2501
  16                        1132         2286
  32                        1038         2098


  Clients                Hits/Sec.    Kbytes/Sec.
  1                        889           1796
  2                        1452          2935
  4                        1882          3802
  8                        2174          4387
  16                       2140          4321
  32                       2148          4337

The Mac mini topped out at 1239 hits per second, yielding 2502 Kbytes/sec of data served, while the dual-G5 held up 2174 hits per second, yielding 4387 Kbytes/sec. It is probably that other testers will be able to produce improved hits per second from both machines, however most day-to-day installations will orbit around these performance levels.

While these figures aren't at the top end of the generally available ISP-class web server performance curve by any means, the economics of the Mac mini are such that for the first time ever there is a competitive Macintosh server able to handle more than 1000 hits per second yielding 20Mbits of data at a price that meets or beats much of the industry - and it all comes in an Apple package with their traditional emphasis on quality, style and Mac OS X's UI. A great little server for the rest of us!