Discussion:
Queueing of HTTP Requests
Pavan Balaji
2003-12-10 18:42:01 UTC
Permalink
Hi,

I was wondering if there was any kind of queueing of HTTP requests at the
proxy server in apache. According to some documentation which I had read a
few months back, there's a queue maintained (after the request was
accepted by the server) from which the worker threads take individual
requests and work on them. But, there seems to be no indication of such a
queue in the source code. Now, I'm confused about whether there actually
is any queueing or not.

I'm using Apache-1.3.12 on Linux.

Thanks,

-- Pavan

=======================================================
Pavan Balaji, | 774, Dreese Labs,
1584, Worthington St, | 2015, Neil Avenue,
Columbus, OH43201 | Columbus, OH43210
(614) 327 0973 | (614) 292 8501
=======================================================

"Being happy doesn't mean that everything's perfect... It just means that
you have decided to see Beyond the Imperfections" -- Rash

Microso~1: For when quality, reliability and security just aren't that
important
Graham Leggett
2003-12-10 18:49:27 UTC
Permalink
Post by Pavan Balaji
I was wondering if there was any kind of queueing of HTTP requests at the
proxy server in apache. According to some documentation which I had read a
few months back, there's a queue maintained (after the request was
accepted by the server) from which the worker threads take individual
requests and work on them. But, there seems to be no indication of such a
queue in the source code. Now, I'm confused about whether there actually
is any queueing or not.
I'm using Apache-1.3.12 on Linux.
This question is more of a general Apache question than proxy specific -
all the proxy does is handle requests as the frontend processes them,
there is no "queue" of any kind, as the proxy requests are handled in
parallel on demand as each frontend request comes in.

What problem are you trying to solve?

Regards,
Graham
--
Pavan Balaji
2003-12-11 00:02:37 UTC
Permalink
Thanks. I was trying to segregate the requests into two priority levels
(don't ask me how :-)) and have a different queue for each of them. Now
that there's no queue, I'll have to come up with some other scheme to do
this. Any suggestions are welcome.

Thanks again,

-- Pavan

=======================================================
Pavan Balaji, | 774, Dreese Labs,
1584, Worthington St, | 2015, Neil Avenue,
Columbus, OH43201 | Columbus, OH43210
(614) 327 0973 | (614) 292 8501
=======================================================

"Being happy doesn't mean that everything's perfect... It just means that
you have decided to see Beyond the Imperfections" -- Rash

Microso~1: For when quality, reliability and security just aren't that
important
Post by Graham Leggett
Post by Pavan Balaji
I was wondering if there was any kind of queueing of HTTP requests at the
proxy server in apache. According to some documentation which I had read a
few months back, there's a queue maintained (after the request was
accepted by the server) from which the worker threads take individual
requests and work on them. But, there seems to be no indication of such a
queue in the source code. Now, I'm confused about whether there actually
is any queueing or not.
I'm using Apache-1.3.12 on Linux.
This question is more of a general Apache question than proxy specific
- all the proxy does is handle requests as the frontend processes
them, there is no "queue" of any kind, as the proxy requests are
handled in parallel on demand as each frontend request comes in.
What problem are you trying to solve?
Regards,
Graham
--
Bill Stoddard
2003-12-11 00:56:04 UTC
Permalink
Post by Pavan Balaji
Thanks. I was trying to segregate the requests into two priority levels
(don't ask me how :-)) and have a different queue for each of them. Now
that there's no queue, I'll have to come up with some other scheme to do
this. Any suggestions are welcome.
Apache 2.0 provides some interesting possibilities. You can either modify an existing MPM
(http://httpd.apache.org/docs-2.0/mpm.html) or create your own.

Bill
Bill Stoddard
2003-12-11 01:05:41 UTC
Permalink
Post by Bill Stoddard
Post by Pavan Balaji
Thanks. I was trying to segregate the requests into two priority levels
(don't ask me how :-)) and have a different queue for each of them. Now
that there's no queue, I'll have to come up with some other scheme to do
this. Any suggestions are welcome.
Apache 2.0 provides some interesting possibilities. You can either
modify an existing MPM (http://httpd.apache.org/docs-2.0/mpm.html) or
create your own.
Bill
Tho it is not obvious in the link referenced above, the worker MPM introduces a queue between the thread that
accepts connections and a pool of worker threads that do the work serving the request. The per-child MPM has a
queue between an 'acceptor' process and multiple 'worker' processes that each have the ability to run under a
unique user id. It would probably not be too difficult to experiment with priority queuing using the worker MPM.

Bill

Loading...