title: Apache ThreadsPerChild increase not applying
body: <p>I installed WAMP and am using Apache 2.2.17 on my windows 7 box. Have a lot of boxes connecting to it to request work etc etc.</p>
  
  <p>The apache server crashed on me twice because it said </p>
  
  <pre><code>[warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
  </code></pre>
  
  <p>I messed around with the httpd-mpm and this is my current configuration within that file</p>
  
  <pre><code>#
  # 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.
  #
  &lt;IfModule !mpm_netware_module&gt;
      PidFile "logs/httpd.pid"
  &lt;/IfModule&gt;
  
  #
  # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
  #
  &lt;IfModule !mpm_winnt_module&gt;
  &lt;IfModule !mpm_netware_module&gt;
  LockFile "logs/accept.lock"
  &lt;/IfModule&gt;
  &lt;/IfModule&gt;
  
  #
  # 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
  &lt;IfModule mpm_prefork_module&gt;
      StartServers          5
      MinSpareServers       5
      MaxSpareServers      10
      MaxClients          150
      MaxRequestsPerChild   0
  &lt;/IfModule&gt;
  
  # 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
  &lt;IfModule mpm_worker_module&gt;
      StartServers          4
      MaxClients          300
      MinSpareThreads      25
      MaxSpareThreads      75
      ThreadsPerChild     250
      MaxRequestsPerChild   0
  &lt;/IfModule&gt;
  
  # 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
  &lt;IfModule mpm_beos_module&gt;
      StartThreads            10
      MaxClients              250
      MaxRequestsPerThread 250
  &lt;/IfModule&gt;
  
  # 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.                          
  &lt;IfModule mpm_netware_module&gt;
      ThreadStackSize      65536
      StartThreads           250
      MinSpareThreads         50
      MaxSpareThreads        500
      MaxThreads            3000
      MaxRequestsPerChild      0
      MaxMemFree             100
  &lt;/IfModule&gt;
  
  # 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
  &lt;IfModule mpm_mpmt_os2_module&gt;
      StartServers           2
      MinSpareThreads        5
      MaxSpareThreads       10
      MaxRequestsPerChild    0
  &lt;/IfModule&gt;
  
  # WinNT MPM
  # ThreadsPerChild: constant number of worker threads in the server process
  # MaxRequestsPerChild: maximum  number of requests a server process serves
  &lt;IfModule mpm_winnt_module&gt;
      ThreadsPerChild     250
      MaxRequestsPerChild    0
  &lt;/IfModule&gt;
  </code></pre>
  
  <p>The issue is that even though I increased the number of threadsperchild it still says this in the error log </p>
  
  <pre><code>[Tue Apr 12 00:26:10 2011] [notice] Apache/2.2.17 (Win32) PHP/5.3.5 configured -- resuming normal operations
  [Tue Apr 12 00:26:10 2011] [notice] Server built: Oct 18 2010 01:58:12
  [Tue Apr 12 00:26:10 2011] [notice] Parent: Created child process 3580
  [Tue Apr 12 00:26:10 2011] [notice] Child 3580: Child process is running
  [Tue Apr 12 00:26:10 2011] [notice] Child 3580: Acquired the start mutex.
  [Tue Apr 12 00:26:10 2011] [notice] Child 3580: Starting 64 worker threads.
  [Tue Apr 12 00:26:10 2011] [notice] Child 3580: Starting thread to listen on port 80.
  </code></pre>
  
  <p>Why doesn't my threadsperchild setting apply and work? It seems to default back to 64...</p>