PEP for Apache HTTP server
This PEP is a native module for Apache HTTP server, written in C++. For more details, see the PEP for Apache HTTP server page.
Used local Apache server configuration
All architectures have LogLevel set to error and use mod_dxa_pep.so (dirxaccess.conf) with this configuration:
# configuration downloaded from the server will never be refreshed
cluster.update.timeout.secs: 0
RedHat Linux and SUSE Linux Enterprise Server
Module: mpm_prefork
# Initializes with 250 child processes.
StartServers: 250
# Maintains at least 20 idle processes.
MinSpareServers: 20
# Allows up to 250 idle processes (so none will be killed)
MaxSpareServers: 250
# Limits the maximum number of simultaneous requests to 250.
MaxRequestWorkers: 250
# Sets the maximum number of server processes to 250.
ServerLimit: 250
# Specifies that child processes will not be recycled based on connection limits (no limit).
MaxConnectionsPerChild: 0
This setup is specifically for performance testing and is currently only supported by the mpm_prefork module, focusing on process-based management rather than threading.
Windows
Include conf/extra/httpd-mpm.conf
Module: mod_mpm_winnt
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild 128
MaxRequestsPerChild 0
</IfModule>
Test Results
PEP for Apache HTTP server has been deployed on these architectures: RedHat Linux 8, RedHat Linux 9, SUSE Linux Enterprise Server 15 and Windows. In this chapter can be seen results of both testing scenarios for all of these architectures.
RedHat Linux 8
The dual server configuration consistently handles more transactions per second than the single server configuration. The dual server setup achieves a peak performance of approximately 470 transactions per second, while the single server setup stabilizes around 250 transactions per second.
RedHat Linux 9
The dual server configuration consistently handles more transactions per second than the single server configuration. The dual server setup achieves a peak performance of approximately 470 transactions per second, while the single server setup stabilizes around 250 transactions per second.
SUSE Linux Enterprise Server
In Figure 5 the dual server configuration consistently handles more transactions per second than the single server configuration. The dual server setup achieves a peak performance of approximately 480 transactions per second, while the single server setup stabilizes around 250 transactions per second.
Both setups handle the authentication load efficiently, with the dual server setup significantly outperforming the single server setup.
Windows
In Figure 7 the dual server configuration consistently handles more transactions per second than the single server configuration. The dual server setup achieves a peak performance of approximately 450 transactions per second, while the single server setup stabilizes around 240 transactions per second.