On 12.09.2012 19:18, Eliezer Croitoru wrote:
On 09/12/2012 02:50 AM, Alex Rousskov wrote:
Yes, of course. Both ICAP and eCAP have meta-headers that can go both ways. But some people do prefer the helper simplicity, and my suggestion
was meant to give those folks a performance boost.

If the consensus is that performance-sensitive deployments should use performance-centric APIs such as eCAP while keeping the URL rewriting helpers as simple as possible, I am happy to subscribe to that approach.
I asked before about this option to use Icap for url_rewriting and
the answer that I got that we need the ICAP guy for that.
I have specific ICAP server I wrote which I use for url_rewriting and
his performance is more then 20,000 request per/s on a very little
atom cpu.
The main problem was that squid after about 900 request per/s would
have a problem.
Else then that the ICAP server fit's for the task even more then a
helper (my opinion).

But the heavy part in the process is not really one or another
interface more then actually making the use of store_url url for
mem_cache and cache_dir properly.

I am having a bit trouble now because of the trillion loops and jumps
in the code while using over 100 times the mem_obj->original_url and
StoreEntry::origianlUrl (was ::url)
most of them are debugs so it helps me a bit but I am far from one
place that the hash is being calculated with the original url and
neededs to be replaced with store_url.

For the "no cachable" situation something should be done to lower
performance issues that could come from using store_url, some kind of
flag validation before sending it to the helper?

I will do my best to make the heart of the feature possible leaving
the rest for later to any other specialist who knows specifics of eCAP
ICAP etc.


Regards,
Eliezer

I think long-term we want to have ICAP/eCAP generating ETag+Digest headers for requests and responses and store using those headers as the index key. Under that environment *CAP service can adapt the ETag+Digest header on request/response in order to de-dup instead of playing with store-URL.

That requires a fair bit of store alterations for Digest though, so will have to come after this feature port.

Amos

Reply via email to