18
SQUID och andra cachelösningar

OPTIMERA STHLM! Henrik Nordström

Embed Size (px)

Citation preview

Page 1: OPTIMERA STHLM! Henrik Nordström

SQUIDoch andra cachelösningar

Page 2: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Henrik Nordströ[email protected]

Konsult Open Source, Squid, Linux & Nätverksedan 1995

Page 3: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Webbläsare●Snabbare sidvisning

Normal proxy cache, användare -> Internet●internet åtkomstkontroll●avlastning av internet förbindelse●virusscanning mm.

Omvänd/reverse proxy cache, Internet -> Webbserver●Framför webbserver●Avlasning av webbserver●Lastbalansering / routning på nivå 7

Var finns cache?

Page 4: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

●Kapa trafiktoppar & stormar

●Minska samtidiga förfrågningar/sessioner

●Keep-alive avlastning

●Lastbalansering, nivå 7

●Geografisk distribution

●Förbättrad drift

●Skala upp kapacitet

Fördelar?

Page 5: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Vad händer vid en trafiktopp?

* Unika frågor mot webbsever

* Cache tar återkommande frågor

* Märks knappt

Trafiktoppar

01 02 03 04 05 06 07 08 09

0

50

100

150

200

250

Trafiktopp

Med cache

TrafikWebserver

Tid

Frå

go

r

Page 6: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Buffert●Sköter leverans till klient●Webbserver fri för nästa fråga

HTTP Keep-Alive●Separerar klient & server●Klient keep-alive tar inga server resurser

Samtidiga frågor●Slås ihop till en

Samtidigasessioner

Page 7: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Buffert●Sköter leverans till klient●Webbserver fri för nästa fråga

HTTP Keep-Alive●Separerar klient & server●Klient keep-alive tar inga server resurser

Samtidiga frågor●Slås ihop till en

Samtidigasessioner

Page 8: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Router på HTTP nivåBalanserar serverlastFelaktiga servrar avaktiverasVirtuell server, välj server efter innehåll

Lastbalansering

Page 9: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Enkel geografisk distributionInga speglingskravLokal prestanda utan lokal data

Geografiskdistribution

Page 10: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Failover om ingen webbserver tillgänglig- meddelande- äldre cachad kopia

Enkel uppskalning av prestanda- Automatisk- Inga speglingskrav

Drift &Prestanda

Page 11: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

●Medvetenhet om cache i designarbete

●Vad är acceptabel uppdateringsfördöjning?

●Använd GET, undvik POST

●”statiskt” innehåll

●En URL -> ett innehåll

●Märk upp ej cachningsbart

●Stödja cache validering, If-Modified-Since,

Etag, If-None-Match

Vad krävs?

Page 12: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Avänd Cache-Control korrekt. mod_expires mm.

Sedan med avancerade alternativ:

Last-Modified + If-Modified-Since

ETag + If-None-Match

Hur?

Page 13: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Unik identifierare innehållsversion

Per URL

If-None-Match -> Duger någon av dessa?

Gzip -> annan Etag

Starka & Svaga, Range

ETag?

Page 14: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

●Slump-parametrar i querystring

●Sessionsberoende HTML

●Använd DOM + javascript istället

●Oväntad cachning

●Fel i ETag

●Fel i Vary

Fallgropar!

Page 15: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

●Virtuell server, samma hostnamn, data från flera olika

servrar

●ICAP, lägg på extra behandlingslager på befintliga

applikationer/servrar

●ESI (Edge Side Includes), Låt proxyservern göra del av

sidkomoneringen. Alternativ till att använda DOM.

●Backupsida vid serverproblem

Fördelar! - Ännu fler!!

Page 16: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

●Squid

●Varnish

●nginx

●Apache httpd

●Apache TrafficServer ( Yahoo(Inktomi) -> Apache)

● ...med flera

Proxyservrar

Page 17: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

a) Super Quick Universal Index Daemon

b) Namnet på en familj bläckfiskar

c) Tillfälliga arbetsnamnet som blev kvar

SQUID - Vad betyder det?

Page 18: OPTIMERA STHLM! Henrik Nordström

2010-05-31 Henrik Nordström, [email protected] | OPTIMERA STHLM! |

Squid HTTP Proxy är:

HTTP proxy/cache.

Open Source. Användardriven utveckling.

Välkänd & breprövad. 1996

Förbättras kontinuerligt. Någon som vill

hjälpa till?

SQUID - Vad är det?