SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
SQUID
och andra cachelösningar
Henrik Nordström
henrik@henriknordstrom.net
Konsult Open Source, Squid, Linux & Nätverk
sedan 1995




2010-05-31     Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Var finns cache?

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


2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Fördelar?

●Kapa trafiktoppar & stormar
●Minska samtidiga förfrågningar/sessioner
●Keep-alive avlastning
●Lastbalansering, nivå 7
●Geografisk distribution
●Förbättrad drift
●Skala upp kapacitet

2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Trafiktoppar

                                                                                      Trafiktopp
                                                                                      Med cache

                                                                 250

 Vad händer vid en trafiktopp?
                                                                 200

   * Unika frågor mot webbsever
                                                                 150


   * Cache tar återkommande frågor




                                                        Frågor
                                                                 100


   * Märks knappt
                                                                  50




                                                                   0
                                                                       01   02   03    04     05   06   07   08      09

                                                                                            Tid          Trafik
                                                                                                         Webserver




2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Samtidiga
             sessioner

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




2010-05-31           Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Samtidiga
             sessioner

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




2010-05-31           Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Lastbalansering




Router på HTTP nivå
Balanserar serverlast
Felaktiga servrar avaktiveras
Virtuell server, välj server efter innehåll




2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Geografisk
             distribution



Enkel geografisk distribution
Inga speglingskrav
Lokal prestanda utan lokal data




2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Drift &
             Prestanda

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

Enkel uppskalning av prestanda
- Automatisk
- Inga speglingskrav




2010-05-31        Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Vad krävs?

●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
2010-05-31             Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Hur?


Avänd Cache-Control korrekt. mod_expires mm.


Sedan med avancerade alternativ:
Last-Modified + If-Modified-Since
ETag + If-None-Match




2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
ETag?



Unik identifierare innehållsversion
Per URL
If-None-Match -> Duger någon av dessa?
Gzip -> annan Etag
Starka & Svaga, Range



2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Fallgropar!


●Slump-parametrar i querystring
●Sessionsberoende HTML
●Använd DOM + javascript istället
●Oväntad cachning
●Fel i ETag
●Fel i Vary


2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Fördelar!
               - Ännu fler!!


●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

2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
Proxyservrar


●Squid
●Varnish
●nginx
●Apache httpd
●Apache TrafficServer ( Yahoo(Inktomi) -> Apache)
●   ...med flera


2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
SQUID -
             Vad betyder det?




a) Super Quick Universal Index Daemon


b) Namnet på en familj bläckfiskar


c) Tillfälliga arbetsnamnet som blev kvar



2010-05-31          Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
SQUID -
             Vad är det?


               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?
2010-05-31         Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |

Contenu connexe

Similaire à OPTIMERA STHLM! Henrik Nordström

Mindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developersMindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developersSeravo
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapAnton Tibblin
 
HT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appHT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appAnton Tibblin
 
HT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleHT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleAnton Tibblin
 
Webboptimering 25 min
Webboptimering 25 minWebboptimering 25 min
Webboptimering 25 minFredrik Wendt
 
HT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationHT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationAnton Tibblin
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonAnton Tibblin
 

Similaire à OPTIMERA STHLM! Henrik Nordström (8)

Cookies och Websockets
Cookies och WebsocketsCookies och Websockets
Cookies och Websockets
 
Mindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developersMindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developers
 
VT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & BootstrapVT2018 - DA355A - LocalStorage & Bootstrap
VT2018 - DA355A - LocalStorage & Bootstrap
 
HT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web appHT18 - DA354A - Bottle web app
HT18 - DA354A - Bottle web app
 
HT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleHT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottle
 
Webboptimering 25 min
Webboptimering 25 minWebboptimering 25 min
Webboptimering 25 min
 
HT17 - DA354A - Webbapplikation
HT17 - DA354A - WebbapplikationHT17 - DA354A - Webbapplikation
HT17 - DA354A - Webbapplikation
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
 

Plus de .SE (Stiftelsen för Internetinfrastruktur)

Plus de .SE (Stiftelsen för Internetinfrastruktur) (15)

Optimera STHLM 2011 - Tobias Järlund, Aftonbladet
Optimera STHLM 2011 - Tobias Järlund, AftonbladetOptimera STHLM 2011 - Tobias Järlund, Aftonbladet
Optimera STHLM 2011 - Tobias Järlund, Aftonbladet
 
Optimera STHLM 2011 - Patrik Wallström, .SE
Optimera STHLM 2011 - Patrik Wallström, .SEOptimera STHLM 2011 - Patrik Wallström, .SE
Optimera STHLM 2011 - Patrik Wallström, .SE
 
Optimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, SpotifyOptimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, Spotify
 
Optimera STHLM 2011 - Måns Jonasson
Optimera STHLM 2011 - Måns JonassonOptimera STHLM 2011 - Måns Jonasson
Optimera STHLM 2011 - Måns Jonasson
 
Kurtis Lindqvist
Kurtis LindqvistKurtis Lindqvist
Kurtis Lindqvist
 
Kjell Leknes
Kjell LeknesKjell Leknes
Kjell Leknes
 
Claes Tagemark
Claes TagemarkClaes Tagemark
Claes Tagemark
 
Anders Örtengren
Anders ÖrtengrenAnders Örtengren
Anders Örtengren
 
OPTIMERA STHLM! Jacob Hansson
OPTIMERA STHLM! Jacob HanssonOPTIMERA STHLM! Jacob Hansson
OPTIMERA STHLM! Jacob Hansson
 
OPTIMERA STHLM! Isac Lagerblad
OPTIMERA STHLM! Isac LagerbladOPTIMERA STHLM! Isac Lagerblad
OPTIMERA STHLM! Isac Lagerblad
 
OPTIMERA STHLM! Martin Källström
OPTIMERA STHLM! Martin KällströmOPTIMERA STHLM! Martin Källström
OPTIMERA STHLM! Martin Källström
 
OPTIMERA STHLM! Daniel Stenberg
OPTIMERA STHLM! Daniel StenbergOPTIMERA STHLM! Daniel Stenberg
OPTIMERA STHLM! Daniel Stenberg
 
OPTIMERA STHLM! Stefan Pettersson
OPTIMERA STHLM! Stefan PetterssonOPTIMERA STHLM! Stefan Pettersson
OPTIMERA STHLM! Stefan Pettersson
 
OPTIMERA STHLM! Patrik Wallström
OPTIMERA STHLM! Patrik WallströmOPTIMERA STHLM! Patrik Wallström
OPTIMERA STHLM! Patrik Wallström
 
OPTIMERA STHLM! Måns Jonasson
OPTIMERA STHLM! Måns JonassonOPTIMERA STHLM! Måns Jonasson
OPTIMERA STHLM! Måns Jonasson
 

OPTIMERA STHLM! Henrik Nordström

  • 2. Henrik Nordström henrik@henriknordstrom.net Konsult Open Source, Squid, Linux & Nätverk sedan 1995 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 3. Var finns cache? 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 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 4. Fördelar? ●Kapa trafiktoppar & stormar ●Minska samtidiga förfrågningar/sessioner ●Keep-alive avlastning ●Lastbalansering, nivå 7 ●Geografisk distribution ●Förbättrad drift ●Skala upp kapacitet 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 5. Trafiktoppar Trafiktopp Med cache 250 Vad händer vid en trafiktopp? 200 * Unika frågor mot webbsever 150 * Cache tar återkommande frågor Frågor 100 * Märks knappt 50 0 01 02 03 04 05 06 07 08 09 Tid Trafik Webserver 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 6. Samtidiga sessioner 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 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 7. Samtidiga sessioner 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 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 8. Lastbalansering Router på HTTP nivå Balanserar serverlast Felaktiga servrar avaktiveras Virtuell server, välj server efter innehåll 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 9. Geografisk distribution Enkel geografisk distribution Inga speglingskrav Lokal prestanda utan lokal data 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 10. Drift & Prestanda Failover om ingen webbserver tillgänglig - meddelande - äldre cachad kopia Enkel uppskalning av prestanda - Automatisk - Inga speglingskrav 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 11. Vad krävs? ●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 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 12. Hur? Avänd Cache-Control korrekt. mod_expires mm. Sedan med avancerade alternativ: Last-Modified + If-Modified-Since ETag + If-None-Match 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 13. ETag? Unik identifierare innehållsversion Per URL If-None-Match -> Duger någon av dessa? Gzip -> annan Etag Starka & Svaga, Range 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 14. Fallgropar! ●Slump-parametrar i querystring ●Sessionsberoende HTML ●Använd DOM + javascript istället ●Oväntad cachning ●Fel i ETag ●Fel i Vary 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 15. Fördelar! - Ännu fler!! ●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 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 16. Proxyservrar ●Squid ●Varnish ●nginx ●Apache httpd ●Apache TrafficServer ( Yahoo(Inktomi) -> Apache) ● ...med flera 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 17. SQUID - Vad betyder det? a) Super Quick Universal Index Daemon b) Namnet på en familj bläckfiskar c) Tillfälliga arbetsnamnet som blev kvar 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |
  • 18. SQUID - Vad är det? 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? 2010-05-31 Henrik Nordström, henrik@henriknordstrom.net | OPTIMERA STHLM! |