Re: Re: [users@httpd] Performance Tuning Documentation?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I think where I'm having the disconnect is in the sequence of events and when certain timeout values apply.

An HTTP request will arrive at the web host wrapped in one or more TCP/IP packets, and the OS protocol stack will queue those packets and dispatch to the appropriate application.  In this case the application is the Apache "parent" process.  The Apache parent process has its own queue whose size is determined by ListenBacklog, which begins to fill once MaxClients number of child processes is reached (i.e. when there isn't an available child process immediately available to dispatch the request to.  The timer that Timeout controls doesn't even begin ticking until the request is accepted by a child process, right?  So, even if I set Timeout to 10 seconds, a request/response round-trip could still take much longer if the OS and/or Apache queues the request, and then the child process takes 10 seconds all by itself to process the request, right?

Besides the source code itself, is there any documentation that details how a request is received, queued and processed by Apache, much like I've attempted to do here?  If I wanted to learn this directly from the source code, in which modules would I start?

Thanks very much for the explanations that I've received so far.

James Anderson
Alpharetta, Georgia USA

> 
> From: Alexander Lazic <al-httpdusers@xxxxxxx>
> Date: 2006/07/10 Mon PM 04:02:34 EDT
> To: users@xxxxxxxxxxxxxxxx
> Subject: Re: [users@httpd] Performance Tuning Documentation?
> 
> On Mon 10.07.2006 20:51, Nick Kew wrote:
> >On Monday 10 July 2006 19:44, Alexander Lazic wrote:
> >> On Mon 10.07.2006 00:31, James W. Anderson wrote:
> >> >Why doesn't it return an HTTP error when the number of concurrent users
> >> >exceeds MaxClients?
> >>
> >> For this reason you should use a *tool* before the webserver which
> >> detect this error and send a proper message to the client, imho.
> >
> >Indeed.  You can only return an HTTP error after you've accepted an
> >HTTP request.  But MaxClients limits the number of concurrent requests
> >you'll accept, and *by definition* prevents you sending them an HTTP
> >error.
> >
> >Rather than interpose a non-HTTP solution in front of the webserver,
> >I'd propose you raise MaxClients, and install some other means (such as
> >mod_load_average) to protect your server from loads above what your
> >application software can manage.
> 
> I'am not sure if i understand you right because there are some HTTP/S
> solutions available for this problem, as i know?!
> 
> regards
> 
> Alex
> 
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
>    "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
> For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx
> 
> 


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux