>> -----Original Message----- >> From: christophe.gravier@xxxxxxxxxxxxxxxxxx >> [mailto:christophe.gravier@xxxxxxxxxxxxxxxxxx] >> Sent: Monday, January 23, 2006 11:22 AM >> To: Chris Robertson >> Subject: RE: squid 2 redirects but does not cache >> >> -----Original Message----- >> >> From: Christophe Gravier >> >> [mailto:christophe.gravier@xxxxxxxxxxxxxxxxxx] >> >> Sent: Sunday, January 22, 2006 5:26 AM >> >> To: squid-users@xxxxxxxxxxxxxxx >> >> Subject: squid 2 redirects but does not cache >> >> >> >> >> >> In fact, I wanted to run it as accelerator (with caching). In >> squid.conf I >> read: >> # NOTE: enabling httpd_accel_host disables proxy-caching and # >> ICP. If you want these features enabled also, set >> # the 'httpd_accel_with_proxy' option. >> >> So that's what I tried. >> > > So it's a definition problem. It is a bit ambiguous. Generally, an > accelerator accepts requests from the internet and caches pages from a > small number of servers that it is "responsible" for. A proxy accepts > requests from the small number of clients it is "responsible" and > caches pages from the internet. Having the option enabled shouldn't > hurt anything, but I think it's unnecessary. > So "accelerator" means reverse proxy. (I known understand your astonishment upon this part of the configuration !) >> >> Well, I am aware of cookies (it's embedded in my plone solution). >> Regarding caching itself, I don't understand why under heavy load >> (simulated with ab apache benchmark) they are really bad >> performances and >> meanwhile I see in store.log ONLY "RELEASE" operation. > > I would imagine that's fairly normal behavior for an accelerator. You > should only see a CREATE action when a new object is encountered that > can be cached, but isn't. S Sorry, that's what I don't understand. (my fault ;)). If it is responsible for one server for example, why, even upon restarting, didn't I see any trace of CREATE for object cached (the object the reverse proxy caches for "relieving" the servers ?) > WAPOUT means that the object was in memory > and was written to disk. SWAPIN is just the opposite. I think I > remember reading that there is a problem with the 2.5 branch of Squid > which prevents it from performing a SWAPIN (which isn't as big a > problem as it sounds. Most operating systems cache file accesses to > memory), but I might be mistaken. Watch the unfiltered access log. > You should see some TCP_HITs and TCP_MEM_HITs. As for the poor > performance, have you had a look at > http://plone.org/documentation/tutorial/optimizing-plone/? The page at > http://plone.org/documentation/tutorial/optimizing-plone/what-to-cache > seems to have some hints at making plone play well with caches. > Ok I got it. Regarding plone configuration, I just follow limi's recommandation. The fact is in his example he received :Requests per second: 864.07 [#/sec] (mean) I do receive Requests per second: 3 [#/sec] (mean) Basically, "pure" plone without *any* cahcing policy is meant to response to 0,7 request per sec. Using wisely RamCache and HttpCache plone product raise it to 3 request per sec. (it's so ok for a single use accessing the website to see it being fast). Now it needs scalability (reverse proxy) to be able to maintain service under loads. I do think squid will change this rate significantly. (in fact with or without, i don't gain any digits). Making tail -f on access.log, If I launch apache benchmark on one side, and tail -f access.log the other side, I *only* have those lines:1138052704.779 401 161.3.50.16 TCP_MISS/20024213 GET http://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052705.231 450 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052705.560 327 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052705.918 356 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052706.274 355 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052706.629 353 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052706.984 353 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html1138052707.340 355 161.3.50.16 TCP_MISS/200 24213 GEThttp://161.3.50.16:81/VirtualHostBase/http/ist-guizay.univ-st-etienne.fr:80/VirtualHostRoot/Portail- DIRECT/161.3.50.16 text/html... As if it only tries to match against cache only for text/html and not images etc. ... >> In squid.conf it is >> said: >> TAG: cache_store_log >> # Logs the activities of the storage manager. Shows which # >> objects are ejected from the cache, and which objects are # >> saved and for how long. To disable, enter "none". There are # >> not really utilities to analyze this data, so you can safely # >> disable it. >> >> So it is ok to see "RELEASE" operation but I never see "store" or >> "caching" or whatever. How behave ours while accessing your pages ? >> Thanks for your tips indeed (the extension is ok and the link >> is really >> great). >> Regards, >> > > I don't use the store log myself. Follow the access.log, as it shows > the results of each request. > > Chris