Re: Thoughts about move work off the main squid thread to achieve parallelism

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Thu, 10 Mar 2011 11:25:31 -0700

On 03/10/2011 07:00 AM, Ming Fu wrote:

> It seems that without making the none cache-able reply bypass the store, other
> optimization is really not possible at this moment.

Yes, making a Store visit optional is probably a required first step for
the low-level performance optimizations you mentioned, even if you think
that non-caching traffic needs its own strand.

>> Moreover, we have already done pretty much the same thing for requests:
>> The server-side code can receive requests from multiple sources
>> (client-side, ICAP, eCAP), without really knowing where the request is
>> coming from. I believe the same should be done for handling traffic in
>> the opposite direction.
>
>> Many pieces of the required interface are already implemented and can be
>> reused. If you want to work on this, let's discuss specifics!
>
> Let me go through the code to have a feel of the scope.

FWIW, the interfaces of interest are: StoreClient/store_client,
BodyPipe, Server(ServerStateData), and Adaptation::Initiator.

There is also ClientStreamAPI that you will have to deal with. Making
that low-level byte/pointer manipulator to work with the above
high-level APIs may be one of the trickiest parts of the project.

Cheers,

Alex.
Received on Thu Mar 10 2011 - 18:25:55 MST

This archive was generated by hypermail 2.2.0 : Fri Mar 11 2011 - 12:00:03 MST