httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandeep Tamhankar <stamhankar...@yahoo.com>
Subject RE: [users@httpd] Apache on Windows Performance
Date Thu, 03 Feb 2005 01:56:25 GMT
Thanks much for that pointer.  Unfortunately, %T gives
the answer in whole seconds.  I was looking for
something with greater precision.  Still, something's
better than nothing.

Related question: my windows apache server (2.0.x) is
currently configured with 10 threads.  In my
access.log I looked at the entries for a 30 second
period and noticed that about 30 requests had
completed in that time.  From some lower level logging
I'd done with apr_time_now, I can see that each of
those requests took about 15ms.  Thus, it's safe to
say that those requests also started in that 30 second
window.  I know (from some logging in my client app)
that one of the last requests in my 30 second window
was actually sent about 30 seconds earlier.  If I have
10 worker threads, and all of my requests within the
time window were processed very quickly, how come it
took 30 seconds to start processing this request?

Does Apache guarantee fairness when servicing
requests? In other words, if several clients made
requests, would Apache process them in the order
received, or would it process them randomly?

Is there any way to find out how many pending requests
there are (i.e. requests that can't be processed right
now because all worker threads are in use)?  For
example, if I discovered that there were no pending
requests in my 30 second window, I could argue that my
client tried to send the message 30 seconds earlier
but couldn't manage because it was too busy talking to
other entities in my network.  But if that were the
case, why would increasing Apache's ThreadsForChild
value help (increasing it to 50 seemed to solve my
problem)?  Thus, I'm leaning towards the "Apache
doesn't service requests in FIFO order" theory.

-Sandeep

--- PMilanese@nypl.org wrote:

> %T is time to serve the request. Throw that in your
> logformat.
> 
> P
> 
> > -----Original Message-----
> > From: stamhankar998@yahoo.com
> [mailto:stamhankar998@yahoo.com]
> > Sent: Tuesday, February 01, 2005 9:59 PM
> > To: users@httpd.apache.org
> > Subject: [users@httpd] Apache on Windows
> Performance
> > 
> > I have a C/C++ module and I'm trying to measure
> > processing time.  I have a function registered via
> > ap_hook_handler, which is the entry point into the
> > module.  In that function, I get the current time
> via
> > apr_time_now(), do all of my processing
> (essentially,
> > invoking various handler functions based on the
> uri,
> > which create C++ objects that do the real work),
> get
> > the current time again, and log the time
> difference.
> > 
> > A few questions:
> > 1. The numbers logged seem rather large; are they
> in
> > microseconds?
> > 2. Is there any way to measure the time that
> Apache
> > takes (in my handler thread/process) to set up the
> > request object and whatnot prior to calling my
> > module's main entry point?  Is there any way to
> > measure the time that Apache takes (in my handler
> > thread/process) to finish off the request handling
> > after my main function returns (i.e. to send back
> the
> > resultant data)?
> > 
> > In particular, I noticed that with ThreadsPerChild
> set
> > to 10, Apache sometimes fell behind in processing
> > requests, while having it set to about 50 solved
> the
> > issue.  The current performance numbers I've
> gathered
> > inside my module don't seem to justify having to
> make
> > this change.
> > 
> > Is there any way to tell Apache to log url request
> > processing times in access.log or error.log (or
> any
> > other log)?  I'm perfectly happy if Apache gives
> me a
> > sum total of how long it took to process a
> request,
> > and I can subtract out my own measurements to
> figure
> > out how much time is spent doing extra processing
> > outside of my module.
> > 
> > Thanks much!
> > 
> > -Sandeep
> > 
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > The all-new My Yahoo! - Get yours free!
> > http://my.yahoo.com
> > 
> > 
> > 
> >
>
---------------------------------------------------------------------
> > 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@httpd.apache.org
> >    "   from the digest:
> users-digest-unsubscribe@httpd.apache.org
> > For additional commands, e-mail:
> users-help@httpd.apache.org
> 
> 
>
---------------------------------------------------------------------
> 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@httpd.apache.org
>    "   from the digest:
> users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail:
> users-help@httpd.apache.org
> 
> 




		
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com 
 


---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message