On 12/6/2015 2:38 PM, Lorin Scraba wrote: > Daca vrei un early fail gratios de ce nu intorci imediat o eroare daca > n-ai gasit ce vrei in cache si pui si no-cache prin headere ? Nu stiu > daca Varnish onoreaza parametrul, dar ar trebui. Asta presupunand ca > datele care le fetch-uieste php-ul sunt cache-ate la randul lor si > Varnish e doar dumb url cacher/lb in fata. Or ? la asta ma si gandesc, singura chestie e ca nu vreau ca eroarea sa ajunga la client, ca nu 'da bine'; incerc sa-l mai aburesc un pic pana e gata procesarea initiala (primul request primit), si atunci ii pot servi direct rezultatul deja existent; daca tot nu e gata dupa un timp stabilit atunci pot sa-i servesc o eroare frumoasa, la fel cum i-as fi servit-o in cazul in care toate cererile le tratam in paralel adica: - vine primul request, ma apuc sa-l procesez, dureaza 20-30 de secunde sa zicem - mai vin inca niste requesturi identice sau asemanatoare (deci posibil diferite pentru varnish-ul din fata), vad ca se proceseaza deja unul, le trimit putin la plimbare (pus in standby) pana e gata primul, dar eliberez php-ul pentru alte cereri simple pe care le pot satisface instant - primul request s-a terminat, bag rezultatele in cache pentru urmatoarele cereri, face si varnish-ul un cache la requestul complet - urmatoarele cereri identice sau asemanatoare se servesc rapid, pentru ca am deja rezultatele, cel mult fac niste prelucrari minime, care nu dureaza mult (asta daca mai ajung la php si nu le are deja varnish-ul in cache) (momentan excludem tratarea erorilor de procesare la primul request, ala va fi felul doi sau dupa caz cireasa de pe tort)
la client nu pot sa ma bazez pe ajax, javascript, e musai sa fie sincron, sau poate stiti voi de vreo metoda de retry HTTP PUR de care eu nu stiu si sa si functioneze pe toate browserele (dupa cum ziceam nu cunosc asa ceva, un 503 ramane eroare fatala) apache-ul sau nginx-ul nu cred ca stiu sa faca ping-pong cu retry-uri, varnishul cred ca ar merge sa fie convins (ramane de vazut partea cu delay-ul); intr-adevar, sigur exista variante mult mai inteligente, dar presupun modificari inclusiv pe partea de client, acolo unde schimbarile sunt excluse si nici partea cu cache warmup nu merge dupa cum am zis, ca sa-l citez pe Petru, am prea multi pesti si rechini, nu pot prezice care asteapta sa fie pescuit, si mai mult, nu am cum sa aflu daca e peste sau rechin decat in php, cand deja e prea tarziu pentru decizii cu adevarat inteligente Alex _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug