Just to copy in the list... the problem Axel was seeing is one that troubled us for a bit - getting unexpected 503 responses.
Solution: Make sure the top of "sub vcl_recv" has a default backend: set req.backend = xxx; You can override this later with conditional statements, or whatever, but having a default helps prevent 503s. Rob Axel DEAU wrote: > Hi, > > It seems that with this method it works very well I thanks you a lot for your > help and wich you have a nice day > > Best regard > > Axel DEAU | NOVACTIVE SYTEME > > Administrateur Systeme et Reseaux > mail : [email protected] > Tel : + 33 1 48 24 33 60 > Fax : + 33 1 48 24 33 54 > www.novactive.com > > > -----Message d'origine----- > De : Rob S [mailto:[email protected]] > Envoyé : lundi 8 février 2010 11:50 > À : Axel DEAU > Cc : Sacha MILADINOVIC > Objet : Re: Varnish load balancer & (keep session) > > At the very top of "sub vcl_recv", please add: > > set req.backend = b1; > > This will set the default backend. > > Can you also send me the output of > > # varnishlog |grep Backend_health > 0 Backend_health - server7 Still healthy 4--X-S-RH 10 8 10 0.007498 > 0.009539 HTTP/1.1 200 OK > 0 Backend_health - server2 Still healthy 4--X-S-RH 10 8 10 0.006767 > 0.013814 HTTP/1.1 200 OK > 0 Backend_health - server3 Still healthy 4--X-S-RH 10 8 10 0.012027 > 0.010841 HTTP/1.1 200 OK > > from before and after you stop apache on the first and second backends. > > > Rob > > > Axel DEAU wrote: > >> Hi, >> >> Absolutely >> >> Axel DEAU | NOVACTIVE SYTEME >> >> Administrateur Systeme et Reseaux >> mail : [email protected] >> Tel : + 33 1 48 24 33 60 >> Fax : + 33 1 48 24 33 54 >> www.novactive.com >> >> >> -----Message d'origine----- >> De : Rob S [mailto:[email protected]] >> Envoyé : lundi 8 février 2010 10:24 >> À : Axel DEAU >> Cc : Sacha MILADINOVIC >> Objet : Re: Varnish load balancer & (keep session) >> >> Axel, >> >> Can you post your entire VCL, and I'll see why this is happening. >> >> Rob >> >> Axel DEAU wrote: >> >> >>> Hi Rob, >>> >>> Thanks for the reply, for 1) when I shut down the second backend all the >>> traffic goes to the first backend but, >>> When I shut down the first backend even if the second backend mark "Still >>> healthy" the error 503 appears. >>> >>> For the other point I'm agreed with you... >>> >>> -----Message d'origine----- >>> De : Rob S [mailto:[email protected]] >>> Envoyé : dimanche 7 février 2010 13:33 >>> À : Axel DEAU >>> Cc : [email protected] >>> Objet : Re: Varnish load balancer & (keep session) >>> >>> Hi, >>> >>> To answer some of your questions: >>> >>> 1) 503 error when shutting down a backend: When you shutdown the >>> backend, do you see varnishlog say that the backend is healthy or sick? >>> If one is sick, then the other should get the traffic if your VCL >>> contains set req.backend = b1; >>> >>> 2) Vanish load balanced does not keep e-commerce sessions for PHP. The >>> simplest solution to this is to install memcache, and put the following >>> lines in your php.ini file: >>> >>> [Session] >>> session.save_handler = memcached >>> session.save_path = "memcache-server1:11211,memcache-server2:11211" >>> >>> instead of session.save_handler = files >>> >>> However, I can't say for certain that this will definitely work - it >>> depends on how your ecommerce application operates. >>> >>> 3) S-flag: I'm not sure about this, but my gut feeling is that it's not >>> causing the problems you're seeing. >>> >>> >>> >>> Rob >>> >>> >>> Axel DEAU wrote: >>> >>> >>> >>>> Version: 2.0.6-1 >>>> >>>> Insall: .deb >>>> >>>> Os: Debian 5.0.3 >>>> >>>> Hi, >>>> >>>> I've got two backends running apache2: front1.domain.com & >>>> front2.domain.com, set with the load balancing configuration >>>> from http://varnish-cache.org/wiki/LoadBalancing. >>>> >>>> _The issue is, when I shutdown apache2 of the first backend varnish >>>> don't switch to the second and display "Error 503 Service >>>> Unavailable", is that a normal answer from varnish?_ >>>> >>>> Other question, _does varnish load balancer keep php sessions, if yes >>>> how will I do?_ >>>> >>>> Varnishlog : >>>> >>>> 0 Backend_health - front1 Still healthy 4--X-RH 10 8 10 0.040008 >>>> 0.039814 HTTP/1.1 200 OK >>>> >>>> 0 Backend_health - front2 Still healthy 4--X-RH 10 8 10 0.066948 >>>> 0.066591 HTTP/1.1 200 OK >>>> >>>> The S flag is missing in my log, is that an issue… >>>> >>>> "4--X-S-RH" to notify that TCP socket shutdown succeeded >>>> from http://varnish-cache.org/wiki/BackendPolling >>>> >>>> Part of default.vcl >>>> >>>> backend front1 { >>>> >>>> .host = "front1.domain.com"; >>>> >>>> .port = "80"; >>>> >>>> .probe = { .url = "/"; >>>> >>>> .interval = 10s; >>>> >>>> .timeout = 5s; >>>> >>>> .window = 10; >>>> >>>> .threshold = 8; >>>> >>>> } >>>> >>>> } >>>> >>>> >>>> >>>> backend front2 { >>>> >>>> .host = "front2.domain.com"; >>>> >>>> .port = "80"; >>>> >>>> .probe = { .url = "/"; >>>> >>>> .interval = 10s; >>>> >>>> .timeout = 5s; >>>> >>>> .window = 10; >>>> >>>> .threshold = 8; >>>> >>>> } >>>> >>>> } >>>> >>>> >>>> >>>> director b1 random >>>> >>>> { >>>> >>>> { .backend = front1; .weight = 5; } >>>> >>>> { .backend = front2; .weight = 1; } >>>> >>>> } >>>> >>>> >>>> >>>> #director b1 round-robin { >>>> >>>> # { .backend = front1; } >>>> >>>> # { .backend = front2; } >>>> >>>> #} >>>> >>>> Thanks for your help... >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> varnish-misc mailing list >>>> [email protected] >>>> http://projects.linpro.no/mailman/listinfo/varnish-misc >>>> >>>> >>>> >>>> >>> >>> >>> >> >> > > _______________________________________________ varnish-misc mailing list [email protected] http://projects.linpro.no/mailman/listinfo/varnish-misc
