Apache 2.4.4 on Fedora 19

Fedora 19 ships with Apache HTTP Server 2.4.4, a release that includes a lot of improvements and some configuration changes that should be taken into account if upgrading to F19 or, when it is released, RHEL 7.

The Apache HTTP Server Project publishes a brief guide entitled Upgrading to 2.4 from 2.2 that sets out the major differences.

For me the big one turned out to be the change in access control directives. Gone are “Order”, “Deny from” and “Allow from”. In their place we now have the “Require” directive. For example:

Order allow,deny
Allow from all

must now be expressed as:

Require all granted

As it has in the past, Red Hat has adopted most of the defaults for its shipping configuration. Running the check_httpd_limits.pl script on my home workstation, this was the result:

[root@mine bin]# ./check_httpd_limits.pl -v

Check Apache Httpd MPM Config Limits (Version 2.4)
by Jean-Sebastien Morisset - http://surniaulula.com/

Httpd Binary

 - CONFIG                : /etc/httpd/conf/httpd.conf
 - EXE                   : /usr/sbin/httpd
 - MPM                   : prefork
 - ROOT                  : /etc/httpd
 - VERSION               : 2.4

Httpd Processes

 - PID 10843 (httpd)     :   24.78 MB /   3.62 MB shared
 - PID 10844 (httpd)     :   24.78 MB /   3.62 MB shared
 - PID 10845 (httpd)     :   24.78 MB /   3.62 MB shared
 - PID 10846 (httpd)     :   24.78 MB /   3.62 MB shared
 - PID 10847 (httpd)     :   24.78 MB /   3.62 MB shared
 - PID 22702 (httpd)     :   27.34 MB /  10.38 MB shared [excluded from averages]

 - HttpdRealAvg          :   21.16 MB [excludes shared]
 - HttpdSharedAvg        :    3.62 MB
 - HttpdRealTot          :  122.74 MB [excludes shared]
 - HttpdRunning          :       6

Httpd Config

 - StartServers          : 5
 - ServerLimit           : 256
 - MinSpareServers       : 5
 - MaxSpareServers       : 10
 - MaxRequestWorkers     : 256
 - MaxConnectionsPerChild: 0

Server Memory

 - Cached                : 13470.23 MB
 - MemFree               :   228.98 MB
 - MemTotal              : 15877.77 MB
 - SwapFree              :  5823.79 MB
 - SwapTotal             :  5824.00 MB

Calculations Summary

 - OtherProcsMem         :  2052.20 MB (MemTotal - Cached - MemFree - HttpdRealTot - HttpdSharedAvg)
 - FreeMemNoHttpd        : 13825.57 MB (MemFree + Cached + HttpdRealTot + HttpdSharedAvg)
 - MaxLimitHttpdMem      :  5420.58 MB (HttpdRealAvg * MaxRequestWorkers + HttpdSharedAvg)
 - AllProcsTotalMem      :  7472.78 MB (OtherProcsMem + MaxLimitHttpdMem)

Maximum Values for MemTotal (15877.77 MB)

   
	StartServers               5	# (no change) Default is 5
	ServerLimit              653	# (256 -> 653) MaxRequestWorkers
	MinSpareServers            5	# (no change) Default is 5
	MaxSpareServers           10	# (no change) Default is 10
	MaxRequestWorkers        653	# (256 -> 653) (MemFree + Cached + HttpdRealTot + HttpdSharedAvg) / HttpdRealAvg
	MaxConnectionsPerChild     0	# (no change) Default is 0
   

Result

OK: AllProcsTotalMem (7472.78 MB) fits within MemTotal (15877.77 MB).

Granted that the machine is loaded with 16G RAM, but a MaxRequestWorkers (successor to MaxClients) threshold of 653 is pretty impressive to me.

This entry was posted in System Administration on by .

About phil

My name is Phil Lembo. In my day job I’m an enterprise IT architect for a leading distribution and services company. The rest of my time I try to maintain a semi-normal family life in the suburbs of Raleigh, NC. E-mail me at philipATlembobrothersDOTcom. The opinions expressed here are entirely my own and not those of my employers, past, present or future (except where I quote others, who will need to accept responsibility for their own rants).