Apache HTTP Server

This is a test of the Apache HTTPD web server. This Apache HTTPD web server benchmark test profile makes use of the wrk program for facilitating the HTTP requests over a fixed period time with a configurable number of concurrent clients.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark apache.

Project Site

httpd.apache.org

Source Repository

github.com

Test Created

6 December 2010

Last Updated

25 March 2023

Test Maintainer

Michael Larabel 

Test Type

System

Average Install Time

1 Minute, 10 Seconds

Average Run Time

25 Minutes, 13 Seconds

Test Dependencies

C/C++ Compiler Toolchain + Zlib + PERL + Perl Compatible Regular Expressions + Expat XML Parser Library

Accolades

400k+ Downloads + 30k+ Public Benchmark Results

Supported Platforms


Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsApache HTTP Server Popularity Statisticspts/apache2010.122011.052011.102012.032012.082013.012013.062013.112014.042014.092015.022015.072015.122016.052016.102017.032017.082018.012018.062018.112019.042019.092020.022020.072020.122021.052021.102022.032022.082023.012023.062023.112024.04160K320K480K640K800K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 7 June 2024.
50020.3%20017.4%10017.8%100021.6%49.4%2013.5%Concurrent Requests Option PopularityOpenBenchmarking.org

Revision History

pts/apache-3.0.0   [View Source]   Sat, 25 Mar 2023 17:09:42 GMT
Update Apache for GCC 13 compiler fix, switch to using wrk for better scaling.

pts/apache-2.0.1   [View Source]   Tue, 19 Apr 2022 18:23:48 GMT
Support for using go install for Go 1.17+ support.

pts/apache-2.0.0   [View Source]   Thu, 12 Aug 2021 19:08:59 GMT
Update against Apache HTTPD 2.4.48, switch to Bombardier for load testingm, add concurrent request option.

pts/apache-1.7.2   [View Source]   Fri, 31 May 2019 18:08:21 GMT
Add expat as external dependency per https://github.com/phoronix-test-suite/test-profiles/issues/82 and also update one broken download link...

pts/apache-1.7.1   [View Source]   Thu, 01 Mar 2018 19:33:47 GMT
Add Windows support for Apache test.

pts/apache-1.7.0   [View Source]   Wed, 07 Feb 2018 12:06:57 GMT
Update against HTTPD 2.4.29 and latest APR / APR-Util packages.

pts/apache-1.6.1   [View Source]   Sun, 30 Mar 2014 20:51:53 GMT
Update download links, add pcre external dependency rather than just relying upon perl external dependency.

pts/apache-1.6.0   [View Source]   Tue, 03 Dec 2013 16:12:28 GMT
Update upstream packages, up the run count to one million requests.

pts/apache-1.5.2   [View Source]   Mon, 28 Jan 2013 20:19:38 GMT
Apache test profile works on PC-BSD 9.1.

pts/apache-1.5.1   [View Source]   Sat, 19 Jan 2013 17:51:16 GMT
Add perl as external dependency to Apache so pcre-devel is obtained on distributions where needed. Also fix a broken download link in downloads.xml.

pts/apache-1.5.0   [View Source]   Thu, 04 Oct 2012 00:45:22 GMT
Update against upstream Apache HTTPD 2.4.3 release.

pts/apache-1.4.0   [View Source]   Sun, 29 Jan 2012 15:48:07 GMT
Update against upstream Apache HTTPD 2.2.21.

pts/apache-1.3.1   [View Source]   Sun, 29 Jan 2012 10:35:29 GMT
Update download links for upstream Apache HTTPD. No other changes.

pts/apache-1.3.0   [View Source]   Mon, 06 Dec 2010 14:18:04 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

C/C++ Compiler Tests

Server

Common Kernel Benchmarks

CPU Massive


Performance Metrics

Analyze Test Configuration:

Apache HTTP Server 2.4.48

Concurrent Requests: 1000

OpenBenchmarking.org metrics for this test profile configuration based on 1,048 public results since 12 August 2021 with the latest data as of 4 February 2024.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Requests Per Second (Average)
100th
6
204373 +/- 27969
99th
9
191863 +/- 2107
98th
5
155825 +/- 815
96th
14
139305 +/- 10612
95th
5
136061 +/- 4446
94th
5
134556 +/- 3203
93rd
5
130654 +/- 695
93rd
6
130407 +/- 3562
91st
10
126487 +/- 908
89th
11
121996 +/- 1897
89th
4
121205 +/- 982
87th
3
119167 +/- 895
85th
5
116565 +/- 6465
85th
6
115824 +/- 3664
83rd
6
112883 +/- 6170
83rd
4
112010 +/- 1816
81st
6
109889 +/- 1137
80th
6
107051 +/- 372
77th
4
104270 +/- 305
77th
20
103153 +/- 8545
Mid-Tier
75th
< 99236
74th
16
95677 +/- 12245
74th
3
94935 +/- 4083
74th
3
93862 +/- 1622
71st
28
89560 +/- 7998
68th
8
86845 +/- 6346
68th
9
86349 +/- 1094
65th
4
82463 +/- 775
64th
6
81211 +/- 811
64th
3
80558 +/- 509
61st
4
75087 +/- 146
59th
4
69649 +/- 3137
57th
6
66101 +/- 1151
56th
3
65725 +/- 194
56th
10
65676 +/- 4991
56th
5
65541 +/- 4595
56th
5
65336 +/- 8720
56th
3
64517 +/- 3529
54th
3
60436 +/- 1262
53rd
3
58559 +/- 2862
53rd
10
57494 +/- 3731
51st
5
55690 +/- 3161
51st
4
55605 +/- 397
Median
50th
55162
49th
3
53285 +/- 482
48th
3
51925 +/- 158
47th
3
50511 +/- 243
46th
3
46333 +/- 308
44th
3
43207 +/- 94
44th
4
43199 +/- 440
43rd
6
40939 +/- 1197
41st
4
36205 +/- 136
41st
3
35670 +/- 177
41st
3
33892 +/- 168
40th
3
32322 +/- 96
40th
3
30688 +/- 269
39th
3
28561 +/- 64
38th
3
27396 +/- 53
38th
3
26019 +/- 111
37th
3
23867 +/- 73
35th
3
17358 +/- 186
Low-Tier
25th
< 9370
6th
3
2663 +/- 192
OpenBenchmarking.orgDistribution Of Public Results - Concurrent Requests: 10001048 Results Range From 0 To 1152907 Requests Per Second23059461186917792236115295138354161413184472207531230590253649276708299767322826345885368944392003415062438121461180484239507298530357553416576475599534622593645652668711691770714829737888760947784006807065830124853183876242899301922360945419968478991537101459610376551060714108377311068321129891115295080160240320400

Based on OpenBenchmarking.org data, the selected test / test configuration (Apache HTTP Server 2.4.48 - Concurrent Requests: 1000) has an average run-time of 9 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkConcurrent Requests: 1000Run-Time918273645Min: 5 / Avg: 8.37 / Max: 46

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 1.2%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsConcurrent Requests: 1000Deviation714212835Min: 0 / Avg: 1.21 / Max: 31

Does It Scale Well With Increasing Cores?

Yes, based on the automated analysis of the collected public benchmark data, this test / test settings does generally scale well with increasing CPU core counts. Data based on publicly available results for this test / test settings, separated by vendor, result divided by the reference CPU clock speed, grouped by matching physical CPU core count, and normalized against the smallest core count tested from each vendor for each CPU having a sufficient number of test samples and statistically significant data.

IntelAMDOpenBenchmarking.orgRelative Core Scaling To BaseApache HTTP Server CPU Core ScalingConcurrent Requests: 1000468162432641281.05422.10843.16264.21685.271

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE2 (SSE2)
Used by default on supported hardware.
 
CVTSI2SD DIVSD ADDSD MULSD COMISD CVTTSD2SI SUBSD MOVDQU UCOMISD MOVDQA MOVD CVTSS2SD MOVAPD SQRTSD MINSD MAXSD ANDPD ANDNPD ORPD CMPLTSD CMPNLESD XORPD CVTSD2SS PUNPCKLQDQ PADDQ PSRLDQ PSHUFD PSHUFLW SHUFPD PSUBQ PSLLDQ PUNPCKHQDQ CLFLUSH PMULUDQ
SSSE3 (SSSE3)
Used by default on supported hardware.
 
PALIGNR PSHUFB
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VZEROALL
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPERMD VINSERTI128 VPERMQ VPBROADCASTQ VPSRLVQ VPSLLVQ VPBLENDD VPBROADCASTD VEXTRACTI128 VPERM2I128
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
AESENC AESENCLAST AESDEC AESDECLAST AESIMC AESKEYGENASSIST
Advanced Vector Extensions 512 (AVX512)
Used by default on supported hardware.
 
(ZMM REGISTER USE)
Vector AES (VAES)
Used by default on supported hardware.
Found on Intel processors since Ice Lake (2019).
Found on AMD processors since Zen 3 (2020).

 
VAESENC VAESENCLAST VAESDEC VAESDECLAST
Last automated analysis: 30 March 2023

This test profile binary relies on the shared libraries libm.so.6, libc.so.6.

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)
IBM Z
s390x
(Many Processors)
RISC-V 64-bit
riscv64
SiFive RISC-V
Intel / AMD x86 32-bit
i686
(Many Processors)
ARMv8 64-bit
arm64
Apple M1
ARMv8 64-bit
aarch64
ARMv8, ARMv8 Cortex-A55 4-Core, ARMv8 Cortex-A72, ARMv8 Cortex-A72 4-Core, ARMv8 Neoverse-N1, ARMv8 Neoverse-N1 16-Core, ARMv8 Neoverse-N1 2-Core, ARMv8 Neoverse-N1 32-Core, ARMv8 Neoverse-N1 80-Core, ARMv8 Neoverse-V1, Ampere ARMv8 Neoverse-N1 128-Core, Ampere ARMv8 Neoverse-N1 256-Core, Ampere Altra ARMv8 Neoverse-N1 160-Core, Ampere Altra ARMv8 Neoverse-N1 80-Core, Apple, Apple M1, Apple M2

Recent Test Results

OpenBenchmarking.org Results Compare

8 Systems - 182 Benchmark Results

Intel Core i7-7700HQ - KBL Neptune_KLS - 16GB

Ubuntu 20.04 - 6.5.0-15-generic - X Server

7 Systems - 182 Benchmark Results

AMD Ryzen 5 7600X 6-Core - ASUS ROG CROSSHAIR X670E HERO - AMD Device 14d8

Ubuntu 22.04 - 6.0.0-060000rc7daily20221001-generic - GNOME Shell 42.4

6 Systems - 173 Benchmark Results

AMD Ryzen 5 3600 6-Core - BIOSTAR B550MX/E PRO - AMD Starship

Debian 12 - 6.5.0-0.deb12.4-amd64 - GCC 12.2.0

5 Systems - 173 Benchmark Results

AMD Ryzen 5 7600X 6-Core - ASUS ROG CROSSHAIR X670E HERO - AMD Device 14d8

Ubuntu 22.04 - 6.0.0-060000rc7daily20221001-generic - GNOME Shell 42.4

Find More Test Results