PDA

View Full Version : httpd-mpm.conf



strat
06-20-2010, 05:14 AM
I have a Q9650 with 8GB ram on centos 5.4 64bit with direct admin.

Have a busy website and notice during peak time i get very high load usage sometimes way over 20.00

this is my httpd-mpm.conf

Any tips for my config??


#
# Server-Pool Management (MPM specific)
#

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
#
# Note that this is the default PidFile for most MPMs.
#
<IfModule !mpm_netware_module>
PidFile "/var/run/httpd.pid"
</IfModule>

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
<IfModule !mpm_winnt_module>
<IfModule !mpm_netware_module>
LockFile /var/log/httpd/accept.lock
</IfModule>
</IfModule>

#
# Only one of the below sections will be relevant on your
# installed httpd. Use "apachectl -l" to find out the
# active mpm.
#

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 60
MinSpareServers 70
MaxSpareServers 200
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 10000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 8
ServerLimit 1024
MaxClients 1024
MinSpareThreads 15
MaxSpareThreads 400
ThreadsPerChild 10
MaxRequestsPerChild 10000
</IfModule>

# BeOS MPM
# StartThreads: how many threads do we initially spawn?
# MaxClients: max number of threads we can have (1 thread == 1 client)
# MaxRequestsPerThread: maximum number of requests each thread will process
<IfModule mpm_beos_module>
StartThreads 8
MaxClients 400
MaxRequestsPerThread 10000
</IfModule>

# NetWare MPM
# ThreadStackSize: Stack size allocated for each worker thread
# StartThreads: Number of worker threads launched at server startup
# MinSpareThreads: Minimum number of idle threads, to handle request spikes
# MaxSpareThreads: Maximum number of idle threads
# MaxThreads: Maximum number of worker threads alive at the same time
# MaxRequestsPerChild: Maximum number of requests a thread serves. It is
# recommended that the default value of 0 be set for this
# directive on NetWare. This will allow the thread to
# continue to service requests indefinitely.
<IfModule mpm_netware_module>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 10000
MaxMemFree 100
</IfModule>

# OS/2 MPM
# StartServers: Number of server processes to maintain
# MinSpareThreads: Minimum number of idle threads per process,
# to handle request spikes
# MaxSpareThreads: Maximum number of idle threads per process
# MaxRequestsPerChild: Maximum number of connections per server process
<IfModule mpm_mpmt_os2_module>
StartServers 10
MinSpareThreads 10
MaxSpareThreads 20
MaxRequestsPerChild 10000
</IfModule>

localhost
06-24-2010, 01:40 PM
Use another web server. Or you can try to add eAccelerator.

darkus
11-05-2010, 09:55 AM
Way too many connections, try taking the 1024 serverlimit and maxclients down to like 256 and turn 'KeepAlive On'

BestBoard
11-06-2010, 07:37 AM
compile apache with worker mpm, and set


<IfModule mpm_worker_module>
StartServers 1-3
ServerLimit 200-500
MaxClients 100-300
MinSpareThreads 25-50
MaxSpareThreads 75-100
ThreadsPerChild 25-50
MaxRequestsPerChild 5000-10000
</IfModule>


depends on your needs..

turn on KeepAlive and lower the timeout to 20-30 seconds.

and you better replace apache with nginx.