httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Fritsch>
Subject Re: event mpm and mod_status
Date Sun, 16 Dec 2012 23:37:24 GMT
On Sunday 16 December 2012, Niklas Edmundsson wrote:
> I'm playing around with the event mpm in httpd 2.4.3, and I've come
> to the conclusion that the stats reported by mod_status is rather
> strange. I'm not sure if it's a bug or simply not implemented...
> My test case is just a simple file transfer of a DVD image, no
> mod_cache etc. involved.
> I then, naively perhaps, expect that I should se this file transfer
> on /server-status, but I see little to no trace of it.
> I would at least expect it to consistently show up as writing
> somewhere, but "writing" under "Async connections" mostly shows 0.

It should alternate between "Async connections/writing" and 
"threads/busy". If not, then that's a bug.

> Another interesting thing is that the client ip shows up all over
> the place in the server/thread list, but without any info on what
> the client is doing. I'm guessing that this is the async
> processing going on, but the status shown on /server-status is
> just plain confusing.
> Am I missing something?

Maybe a scoreboard update call is missing at some point. I will have 
to look at it.

The fact that the client ip shows up on all threads points to some 
potential optimization: Recently active threads should be preferred, 
because their memory is more likely to be in the cpu caches. Right 
now, the thread that has been idle the longest time will do the work.

> Sure, I can look in the server logs to find out what files have
> been sent, but that's not quite the same as the "what is happening
> right now" I'm used to /server-status presenting to me.
> Is it possible to patch mod_status to show something useful for the
> event mpm too, or is the information needed not available? For
> example, I would expect to find a list of all the current requests
> being processed somehow. As it currently stands it seems that all
> replies currently being sent in async mode is a "black hole" on
> /server-status.

The problem is that there is no fixed limit for the number of 
connections being processed, which makes it hard to put that 
information into a shared memory table. And without that, there is no 
way for the process handling the server-info request to get the 
information from the other processes. But I agree that this should be 
fixed somehow.

View raw message