20130807 apache 2 4 4 on fedora 19 - plembo/onemoretech GitHub Wiki

title: Apache 2.4.4 on Fedora 19 link: https://onemoretech.wordpress.com/2013/08/07/apache-2-4-4-on-fedora-19/ author: phil2nc description: post_id: 6217 created: 2013/08/07 01:45:25 created_gmt: 2013/08/07 05:45:25 comment_status: closed post_name: apache-2-4-4-on-fedora-19 status: publish post_type: post

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.

Copyright 2004-2019 Phil Lembo