[squid-dev] The next step towards: StoreID and metalink.

Eliezer Croitoru eliezer at ngtech.co.il
Sat Sep 19 23:28:56 UTC 2015


As a non-direct continuation to StoreID I wanted to test how will a http 
message live hashing will effect a service.(CPU, RPS etc)
So I wrote a small ECAP module that is based on both passthru + modify 
samples and ecap-mongo[https://github.com/creamy/ecap-mongo].

For the purpose of testing I have also built libecap RPM and also 
enabled the ECAP module in the main CentOS 7 squid RPM.
As a result from squid 3.5.9 RPM and on there will be support for ECAP 
modules.

If I will manage to build(probably will) libecap for CentOS 6 I will add 
there ecap support too.

The module source code is at:
http://paste.ngtech.co.il/pcytpgdx7

And for the first run it only calculates the hashes of the message 
content and doing nothing more.
The module might not be perfect but it gives the basic wanted result.

Since I want it to be the base for what ever will be related to 
metalinks I am looking for a pesudo on how to implement metalink SUPPORT 
in an ECAP module.
*If you have a idea on how to do that please share it.*

There are things which can help an ECAP module to decide how to do 
things when handling metalinks related affairs.
For example, a cache object lookup from within an ECAP module.
So basically the logic of the ECAP module is 100% blind to the cache 
internals.
For now it will be kind of static and should let the cache do what it can.

I remember some words about the option to use multiple StoreID tag 
responses to allow the cache lookup for each and every one of them but I 
am unsure what will be the right way to look at it.

Also what to do with the calculated hashes? put it in a DB? and then what?

So leaving the doubts and question aside. The first thing I want to do 
is to run some tests with the module ON in couple systems and I am 
looking for voluntaries.
Where do I find them? in the users list?

Eliezer


More information about the squid-dev mailing list