Citat:
Ursprungligen postat av Danielos
För det mesta har du ett antal php processer att tillgå på ett konto, där varje process har en visst antal request tillåtna per sekund, men problemet är ju också att denna info inte räcker för att beräkna hur många sidvisningar och besökare din sida kan ta eftersom det också beror på hur snabbt eller effektivt ditt php skript exekverar. Varnish påverkar ofta inte så mycket, då flaskhalsen inte ligger så mycket på statiska filer utan på dynamiskt innehåll som php utgör, tillgång till memcached (spara sql data på minne) och xcache (opcode cache) eller liknande däremot påverkar i stor utsträckning. Man sätter sällan varnish att cacha php filer, men det går att döpa om php exekverarade filer till .html filer och på så sätt få varnish att på ett enkelt sätt att cacha innehållet. Problemet dock, är att man då får varnish att cacha lite för mycket och lösningen är då att du behöver få tillgång till att själv skapa en anpassad varnish config om detta ska fungera på ett bra sätt, saken är väl då att de flesta webbhotell, utom några få, inte tillåter dig att ha en egen varnish vcl fil.
|
Oj vad många fel det är i där inlägget... Förvånande för att komma ifrån dig måste jag säga.
Varnish är extremt bra för att avlasta PHP och genereringen av html för de allra flesta sidor. Just det är i min värld den främsta anledningen till att man har en cachande reverse proxy framför webbservrarna. Så du kan, enligt mig, inte ha mer fel där...
Jag sätter mer eller mindre alltid Varnish på att cacha även genererad HTML. Det gör väldigt mycket mer för prestandan än vad både memcached och opcode cache gör för de flesta typer av sidor. Ju tidigare man cachar desto bättre både för responstid och för skalning. Hur sidor ska cachas kan man styra hyfsat bra med HTTP headers (Expires, Last-modified, no-cache etc). Även om webbhotell har en "dum" varnish cache framför som bara cachar i 5 min så gör det ju ändå enorm skillnad för backenden för en vältrafikerad sida om man bara behöver generera samma sida en gång var 5:e minut jämfört med att generera varje request.
Alla sidor och all typ av innehåll lämpar sig givetvis inte för att cachas av varnish men jag skulle nog säga att minst 90% av sidor är lämpliga att cacha i varnish i minuter eller mer. Det är få typer av sidor som behöver realtidsuppdateringar.
För en blogg med många och frekventa kommentarer är det väl kanske gränsfall, men att det tar 5 minuter för kommentarerna att synas är ju inte någon katastrof. Just kommentarer kan man ju även ladda in asynkront utan större problem, exempelvis med Disqus.