Yesterday I had massive performance troubles after going online with an Apache Reverse Proxy running on CentOS 6.9 for IBM Notes Traveler.
The customer has about 1.250 users and approx. 1.650 devices.
After some investigation and a great site, where the performance parameters are described very good:
( https://www.linode.com/docs/web-servers/apache-tips-and-tricks/tuning-your-apache-server )
I figured out, that the default configuration of the HTTP server was causing this issues, because the settings are much too low/high for this amount of devices. I did some modifications in the httpd.conf and now it´s working fine – feel free to use them:
#
# Timeout: The number of seconds before receives and sends time out.
#
# Default Value: Timeout 60
New Value: Timeout 10
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to “Off” to deactivate.
#
# Default Value: KeepAlive Off
New Value: KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
# Default Value: MaxKeepAliveRequests 100
New Value: MaxKeepAliveRequests 50
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
# Default Value: KeepAliveTimeout 15
New Value: KeepAliveTimeout 5
# prefork MPM
# Default Value: StartServers 8
New Value: StartServers 1000
# Default Value: MinSpareServers 5
New Value: MinSpareServers 1000
# Default Value: MaxSpareServers 20
New Value: MaxSpareServers 1000
# Default Value: ServerLimit 500
New Value: ServerLimit 1000
New Value: MaxClients 1000
# Default Value: MaxRequestsPerChild 400
New Value: MaxRequestsPerChild 4000
# worker MPM
# Default Value: StartServers 4
New Value: StartServers 8
# Default Value: MaxClients 500
New Value: MaxClients 1000
# Default Value: MinSpareThreads 25
New Value: MinSpareThreads 100
# Default Value: MaxSpareThreads 75
New Value: MaxSpareThreads 750
New Value: ThreadsPerChild 25
# Default Value: MaxRequestsPerChild 0
New Value: MaxRequestsPerChild 0
# Enabled HTTP Compression
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
If you also need the configuration flie for the Traveler site with the load balancing configuration, feel free to contact me…