Hello,
I'm have been trying to configure Squid to store and provide two
versions of the same obiect, but so far with no luck.
I configured my load balancer to append an additional header to
a request depending on a client status, something like:
"X-ASP-CFlag: Yes" or "X-ASP-CFlag: No"
I also configured my servers to append "Vary: X-ASP-CFlag" and to
set a different ETag for both responses.
Squid is able to cache such responses and always provide a correct
version, so I believe I did everyting correct releated to handling
Vary & ETag.
My problem is that each time, when a different type of client comes,
the object is RELEASED and Squid fetches a new one. So, Squid
is able to provide a cached version of such obiect as long as
consecutive requests come from the same type of a client. If they comes
from the different type, then I get 0% hit rate. :(
1269025015.033 23 192.168.162.1/192.168.152.2 TCP_MISS/200 16857 GET http://www.example.com/xml/EF.001.xml - FIRST_UP_PARENT/192.168.162.1 text/xml
1269025022.400 27 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16886 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025022.863 81 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16886 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025022.967 25 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16886 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025023.456 1 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16886 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025024.015 21 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16886 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025024.101 16 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16887 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025025.836 1 192.168.162.1/192.168.152.2 TCP_MEM_HIT/200 16887 GET http://www.example.com/xml/EF.001.xml - NONE/- text/xml
1269025028.506 27 192.168.162.1/192.168.152.2 TCP_MISS/200 100934 GET http://www.example.com/xml/EF.001.xml - FIRST_UP_PARENT/192.168.162.1 text/xml
1269025031.030 37 192.168.162.1/192.168.152.2 TCP_MISS/200 16904 GET http://www.example.com/xml/EF.001.xml - FIRST_UP_PARENT/192.168.162.1 text/xml
1269025033.208 11 192.168.162.1/192.168.152.2 TCP_MISS/200 100934 GET http://www.example.com/xml/EF.001.xml - FIRST_UP_PARENT/192.168.162.1 text/xml
According to the store.log I have:
- request from a client type "A":
1269025015.023 RELEASE 00 00032DDE 3670265D41E40D46FB58467B0A406016 200 1269025002 1268659805 1269025062 text/css -1/16369 GET http://www.example.com/css/EF.001.css
1269025015.023 SWAPOUT 00 000332CA 26DF93F5ACF8EFF960D1ABD01F1D9509 200 1269025015 -1 1269125015 x-squid-internal/vary -1/220 GET http://www.example.com/css/EF.001.css
1269025015.023 RELEASE 00 00032F03 BA73564A12C40FB51174FE3CD14F2BDA 200 1269025005 -1 1269125005 x-squid-internal/vary -1/220 GET http://www.example.com/css/EF.001.css
1269025015.033 SWAPOUT 00 000332CC E3A743051428428E9D4D45836CB2719C 200 1269025014 1268659805 1269025074 text/css -1/16338 GET http://www.example.com/css/EF.001.css
- request from a client type "B":
1269025028.491 RELEASE 00 00032F04 F7F9BF630687B86AFAA4D5CD729E6F15 200 1269025005 1268659805 -1 text/xml 100483/100483 GET http://www.example.com/xml/EF.001.xml
1269025028.491 SWAPOUT 00 00033BEA 26DF93F5ACF8EFF960D1ABD01F1D9509 200 1269025028 -1 1269125028 x-squid-internal/vary -1/220 GET http://www.example.com/xml/EF.001.xml
1269025028.491 RELEASE 00 000332CA 80E0AD812ADE72183FD2BF19D3D1F251 200 1269025015 -1 1269125015 x-squid-internal/vary -1/-218 GET http://www.example.com/xml/EF.001.xml
1269025028.506 SWAPOUT 00 00033BF0 A070DC36FD8ED3452573EE7DC398DF53 200 1269025028 1268659805 1269025088 text/xml 100483/100483 GET http://www.example.com/xml/EF.001.xml
- request from a client type "A":
1269025031.015 RELEASE 00 000332CC BCB90FADA1A3A323B25925C4776B64AB 200 1269025014 1268659805 1269025074 text/xml -1/16338 GET http://www.example.com/xml/EF.001.xml
1269025031.015 SWAPOUT 00 00033D2D 26DF93F5ACF8EFF960D1ABD01F1D9509 200 1269025031 -1 1269125031 x-squid-internal/vary -1/220 GET http://www.example.com/xml/EF.001.xml
1269025031.015 RELEASE 00 00033BEA C4D3004363864A9BC877E75165903539 200 1269025028 -1 1269125028 x-squid-internal/vary -1/220 GET http://www.example.com/xml/EF.001.xml
1269025031.028 SWAPOUT 00 00033D2A E3A743051428428E9D4D45836CB2719C 200 1269025030 1268659805 1269025090 text/xml -1/16385 GET http://www.example.com/xml/EF.001.xml
- request from a client type "B":
1269025033.204 RELEASE 00 00033BF0 4A2CE9062319A7E381086826978BCBB3 200 1269025028 1268659805 1269025088 text/xml 100483/100483 GET http://www.example.com/xml/EF.001.xml
1269025033.204 SWAPOUT 00 00033EE7 26DF93F5ACF8EFF960D1ABD01F1D9509 200 1269025033 -1 1269125033 x-squid-internal/vary -1/220 GET http://www.example.com/xml/EF.001.xml
1269025033.204 RELEASE 00 00033D2D C5D2959AD4FB3A19CB4333A21A85A3F9 200 1269025031 -1 1269125031 x-squid-internal/vary -1/-218 GET http://www.example.com/xml/EF.001.xml
1269025033.208 SWAPOUT 00 00033EE8 A070DC36FD8ED3452573EE7DC398DF53 200 1269025032 1268659805 1269025092 text/xml 100483/100483 GET http://www.example.com/xml/EF.001.xml
And so on...
So, the question is: how to teach squid to do it in the right way?
Best regards,
Krzysztof Olędzki
Received on Fri Mar 19 2010 - 20:28:13 MDT
This archive was generated by hypermail 2.2.0 : Sat Mar 20 2010 - 12:00:05 MDT