SlideShare a Scribd company logo
1 of 37
Download to read offline
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 1
Jede Sekunde
zählt
Webbeschleuniger
Varnish im Einsatz
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 2
Agenda Über snowflake
Wieso HTTP
Caching
Alternativen Funktionsweise
Über Varnish
Module &
Integrationen
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 3
Über mich
Andri Steiner
Leiter Hosting
Datacenter
Automation
Varnish
evangelist ☺
VW Bus Schrauber
Gleitschirmpilot
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 4
snowflake
kurz vorgestellt Gegründet 1999
Büros in Zürich,
Bern und Luzern
Varnish
Hosting &
Integrations-
partner
Fokus auf Open
Source
Technologien und
Weblösungen
rund 50
Mitarbeiter
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 5
Hosting
Service & Support
SchulungDesign
Beratung und
Konzeption Umsetzung
snowflake
kurz vorgestellt
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 6
2005: Idee @
Verdens Gang AS
Poul-Henning
Kamp BSD Lizenz
Redpill Linpro /
Varnish
Software AS
kommerzieller
Support,
Zusatzmodule
2006: v1
2008: v2
2011: v3
Integrations-/
Hosting-/
Schulungs-
Partner
Varnish
kurz vorgestellt
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 7
Wieso HTTP
Caching
Geschwindigkeit
erhöhen Server entlasten
Besucher-
zufriedenheit
steigern Kosten senken
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 8
Geschwindigkeit
erhöhen
schnelle Seite
glückliche
Besucher
Besucher-
zufriedenheit
steigern
250'000 req/s
auf Desktop
Hardware
1s Verzögerung
-11% Besucher
-16% Zufriedenh.
-7% Verkäufe
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 9
Server entlasten
weniger Server,
kleinere Server
massive Kosten-
einsparungen
von 14 auf 2 (1)
Server
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 10
Weitere Vorteile Redundanz
DoS
Business Logik in
VCL
sehr schnell
sehr flexibel
geografische
Verteilung Load Balancer
Lizen
z
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 11
Software
z.B. Squid
langsamer
weniger flexibel
kein SupportAlternativen
Hardware
z.B. BigIP
weniger flexibel
sehr teuer
CDNs
gut für reines
HTTP Caching
unflexibel
Vendor Lock-In
sehr teuer
Caching auf
Applikations-
ebene
langsamer
unflexibel
Abhängigkeiten
Hardware
hohe Kosten
kein/kleiner
Geschwindigkeits-
zuwachs
SSL Support
in den meisten
Alternativen
enthalten
NICHT in Varnish
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 12
sub vcl_fetch {
# Cache only GET or HEAD Requests
if (req.request != "GET" && req.request != "HEAD") {
return (hit_for_pass);
}
# Cache static files
if (req.url ~ "^[^?]*.(css|js|htc|txt|swf|flv|pdf|gif|jpe?
g|png|ico|woff|ttf|eot|otf|xml|md5|json)($|?)") {
return (deliver);
}
# Cache static Pages
if (beresp.http.TYPO3­Pid && beresp.http.Pragma == "public") {
unset beresp.http.Set­Cookie;
return (deliver);
}
# do not cache everything else
return (hit_for_pass);
}
Funktionsweise
HTTP reverse
Proxy Server
Caching im
RAM/Swap
sehr effiziente
Programmierung
VCL
Varnish
Configuration
Language
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 13
ESI
Edge Side Includes
„iframes“ werden
von Varnish
zusammengesetzt
dynamischen und
statischen Inhalt
mischen
kann Sinn machen,
muss aber nicht
<html>
<body>
<h1>Privater Bereich</h1>
<esi:include src="/privat/" />
<h1>News</h1>
<p>...</p>
</body>
</html>
besser AJAX
verwenden
ESI Requests
müssen sehr
performant sein
Debugging
kompliziert
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 14
HTTP Standards
Serverseitiger
HTTP reverse
Proxy Server
(früher:
Clientseitig)
alle nötigen
Funktionen bereits
spezifiziert
keine Magie in
Varnish
Magie in VCL
möglich,
aber nicht
zwingend nötig
GET / POST richtig
unterscheiden
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 15
HTTP Standards -
Cookies
Cookies =
Sessionabhängige
Daten =
kein Caching
keine Cookies
verwenden
Cookies an
bestimmte Domain
oder Pfad binden
in VCL umgehen
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 16
VCL
State Engine, wird
zur Laufzeit zu C
Code kompiliert
HTTP Header
regular
Expressions
Eingriff in jedem
Status möglich
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 17
VCL - Beispiele
sub vcl_recv {
# do not cache TYPO3 BE User requests (Preview)
if (req.http.Cookie ~ "be_typo_user" || req.url ~ "^/typo3/") {
return (pass);
}
}
sub vcl_fetch {
# Cache only GET or HEAD Requests
if (req.request != "GET" && req.request != "HEAD") {
return (pass);
}
# Cache static Pages
if (beresp.http.TYPO3-Pid && beresp.http.Pragma == "public") {
unset beresp.http.Set-Cookie;
return (deliver);
}
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 18
VCL
Backend Director
Probes
backend default {
.host = "10.10.10.10";
.probe = {
.url = "/status.php";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}
director b2 random {
{
.backend = b1;
.weight = 1;
}
{
.backend = b1;
.weight = 7;
}
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 19
VCL
Hashing
sub vcl_hash {
hash_data(server.ip);
hash_data(req.url);
# Additional hashes on / only
# used for server-side Browser/Language Handling
if (req.url ~ "^/$") {
# User-Agent (normalized in vcl_recv)
hash_data(req.http.User-Agent);
# Accept-Language (normalized in vcl_recv)
hash_data(req.http.Accept-Language);
}
return (hash);
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 20
VCL
Cookie Handling
sub vcl_recv {
if (req.http.Cookie) {
# throw away Google Analytics Cookies
set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm[a-z]=[^;]+;? *", "1");
# throw away Client related Cookies
set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *client_[0-9a-zA-Z_]+=[^;]+;? *", "1");
# throw away eID related Cookies on all non-eID related Request
if (!req.url ~ "(?|&)eID=[0-9a-zA-Z_-]+") {
set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *eID_[0-9a-zA-Z_]+=[^;]+;? *", "1");
}
if (req.http.Cookie == "") {
remove req.http.Cookie;
}
}
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 21
VCL
Grace Mode
sub vcl_recv {
set req.grace = 6h;
}
sub vcl_fetch {
set beresp.grace = 6h;
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 22
VCL
Saint Mode
sub vcl_fetch {
if (beresp.status >= 500 && req.request != "POST") {
set beresp.saintmode = 10s;
return(restart);
}
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 23
VCL
Cache Invalidation
sub vcl_recv {
if (req.request == "PURGE" && client.ip ~ purge) {
return (lookup);
}
if(req.http.Varnish-Ban-TYPO3-Pid) {
ban("obj.http.TYPO3-Pid == " + req.http.X-Header);
}
if (req.request == "REFRESH" && client.ip ~ purge) {
set req.request = "GET";
set req.hash_always_miss = true;
}
}
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 24
Möglichkeiten
sauberes Backend
wenig VCL
Caching anhand
HTTP Header
wenige - keine
Ausnahmen
„schwieriges“
Backend
HTTP Header in-
konsistent
„cache all but
some“
keine Zeit, schnelle
Implementation,
Probleme lindern
Microcaching
Kombinationen
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 25
Möglichkeiten
10 bestbesuchte
Seiten
Weitere, wichtige
Seiten
Integration
vornehmen,
weitere Seiten
später anpassen
Ziele setzen,
Kompromisse
eingehen
Herausforderung:
für sich richtige
Strategie fest-
legen
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 26
Logging shared Memory
sehr mächtig,
aber auch komplex
varnishstat
varnishtop
varnishlog
   14 TxRequest    ­ POST
   14 TxURL        ­ /index.php?eID=tx_portfolio_casestudy_list
   14 TxProtocol   ­ HTTP/1.1
   14 TxHeader     ­ Host: www.snowflake.ch
   14 TxHeader     ­ User­Agent: Mozilla/5.0 (X11; U; Linux x86_64; en­US; 
rv:1.9.1.16) Gecko/20121207 Iceweasel/3.5.16 (like Firefox/3.5.16)
   14 TxHeader     ­ Accept: application/json
   14 TxHeader     ­ Accept­Language: en­us,en;q=0.5
   14 TxHeader     ­ Accept­Charset: ISO­8859­1,utf­8;q=0.7,*;q=0.7
   14 TxHeader     ­ X­Requested­With: XMLHttpRequest
   14 TxHeader     ­ X­Request: JSON
   14 TxHeader     ­ Content­Type: application/x­www­form­urlencoded; 
charset=utf­8
   14 TxHeader     ­ Referer: http://www.snowflake.ch/referenzen/
   14 TxHeader     ­ Content­Length: 683
   14 TxHeader     ­ Pragma: no­cache
   14 TxHeader     ­ Cache­Control: no­cache
   14 TxHeader     ­ X­Forwarded­For: 2a04:503:0:102:218:51ff:fece:60ac
   14 TxHeader     ­ X­Varnish: 1755445627
7+11:30:12
Hitrate ratio:       10      100      272
Hitrate avg:     0.7762   0.8143   0.8362
     3014567         9.98         4.66 client_conn ­ Client connections 
accepted
     6787583        10.98        10.50 client_req ­ Client requests received
     5978620         8.98         9.25 cache_hit ­ Cache hits
      721061         1.00         1.12 cache_miss ­ Cache misses
       46086         0.00         0.07 backend_conn ­ Backend conn. success
         923         0.00         0.00 backend_unhealthy ­ Backend conn. not 
attempted
          57         0.00         0.00 backend_fail ­ Backend conn. failures
      795413         2.00         1.23 backend_reuse ­ Backend conn. reuses
       24213         0.00         0.04 backend_toolate ­ Backend conn. was 
closed
      819658         2.00         1.27 backend_recycle ­ Backend conn. 
recycles
          49         0.00         0.00 backend_retry ­ Backend conn. retry
           4         0.00         0.00 fetch_head ­ Fetch head
      235244         0.00         0.36 fetch_length ­ Fetch with Length
      604798         2.00         0.94 fetch_chunked ­ Fetch chunked
        1095         0.00         0.00 fetch_close ­ Fetch wanted close
           3         0.00         0.00 fetch_failed ­ Fetch failed
         292         0.00         0.00 fetch_304 ­ Fetch no body (304)
         132          .            .   n_sess_mem ­ N struct sess_mem
          38          .            .   n_sess ­ N struct sess
      288452          .            .   n_object ­ N struct object
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 27
Debugging 3rd Party Tools VAC/VCS
eigene Scripts, z.B.
Nagios Check
# /usr/local/vzscripts/nagios­varnish 
Varnish OK: Running client_conn: 3016042 client_req: 6791127 client_drop: 0 cache_hit: 5981866 
cache_hitpass: 0 cache_miss: 721433 backend_fail: 57 n_object: 288193 n_wrk_failed: 0 n_wrk_drop: 
0 n_lru_nuked: 0 uptime: 646467
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 28
Module
Administration
Console Custom Statistics Paywall
freie &
kostenpflichtige
Module
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 29
Varnish
Administration
Console
zentrales
Kontrollzentrum echtzeit Grafiken
kontrolle mehrerer
Server
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 30
Varnish
Custom
Statistics echtzeit Daten
„Whats hot“
Ladezeiten
Cache hits/miss
Verursacher von
Backend Hits
shared memory JSON API
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 31
Varnish
Paywall Zugriffskontrolle
Zeitungen
Magazine
Intranets
Abos
Micropayment
Metered
usw.
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 32
weitere Module
Mobile Device
Detection API Acceleration Hashninja
weitere (freie und unfreie) unter
https://www.varnish-cache.org/vmod
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 33
Integrationen TYPO3 Magento Wordpress
weitere ...
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 34
TYPO3 Integration
KISS /
minimalinvasiv
sendet Cache Infos
in eigenem Header
an Varnish
sendet TYPO3
Cache Kommandos
an Varnish
Dokumentation &
Code auf GitHub
https://github.com/snowflakech/typo3-varnish
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 35
snowflake &
Varnish
Hosting und
Integrations-
partner in
Deutschland,
Österreich und der
Schweiz
Betrieb,
Implementation
und Beratung
Attraktive
Bundlepreise
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 36
weitere
Informationen
Community
https://www.varnish-cache.org/
„varnish-misc“ Maillinglist
Kommerziell
http://www.snowflake.ch/varnish/
http://www.varnish-software.com/
nochmal sehen?
https://speakerdeck.com/steinair
snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 37
Andri Steiner
snowflake productions gmbh
Bruchstrasse 43
6003 Luzern
+41 58 680 32 97
asteiner@snowflake.ch

More Related Content

Similar to OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021SEARCH ONE
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEARCH ONE
 
Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13 Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13 Stephan Hochdörfer
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5kkramhoeft
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Patrick Lauke
 
Offline-Strategien für HTML5 Web Applikationen - bedcon13
Offline-Strategien für HTML5 Web Applikationen - bedcon13Offline-Strategien für HTML5 Web Applikationen - bedcon13
Offline-Strategien für HTML5 Web Applikationen - bedcon13Stephan Hochdörfer
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Michael Kirst-Neshva
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Martin Kliehm
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1Manfred Steyer
 
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)NETWAYS
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)NETWAYS
 
Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.chWie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.chAarno Aukia
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Trivadis
 
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)NETWAYS
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...OPEN KNOWLEDGE GmbH
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeNico Steiner
 

Similar to OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz (20)

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021PageSpeed Extreme für das große Speed Update 2021
PageSpeed Extreme für das große Speed Update 2021
 
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-FreaksSEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
SEO Day 2016: Perfekte Ladezeiten und SEO-Hosting für Speed-Freaks
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13 Offline Strategien für HTML5 Web Applikationen - dwx13
Offline Strategien für HTML5 Web Applikationen - dwx13
 
Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5Mobile Webentwicklung mit HTML5
Mobile Webentwicklung mit HTML5
 
Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010Die Zukunft der Webstandards - Webinale 31.05.2010
Die Zukunft der Webstandards - Webinale 31.05.2010
 
Offline-Strategien für HTML5 Web Applikationen - bedcon13
Offline-Strategien für HTML5 Web Applikationen - bedcon13Offline-Strategien für HTML5 Web Applikationen - bedcon13
Offline-Strategien für HTML5 Web Applikationen - bedcon13
 
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
Hybrid cloud iaa-s_office-365-azure_sharepoint-konferenz-wien-2013_ankbs_mich...
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)Web Performance Optimierung (WPO)
Web Performance Optimierung (WPO)
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1
 
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
Logstash: Open Source Log-Management (Webinar vom 20.02.2014)
 
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
 
Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.chWie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch
 
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
Oracle12c threaded execution - Ressourcen sparen zum Nulltarif?!?
 
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
Logstash: Windows und Linux Logmanagement (Webinar vom 07.11.2014)
 
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
Rufen Sie nicht an – wir rufen Sie an! | Server-sent Events und Web-Sockets i...
 
Frontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 BestellsystemeFrontend-Architektur der 1&1 Bestellsysteme
Frontend-Architektur der 1&1 Bestellsysteme
 

More from Digicomp Academy AG

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Digicomp Academy AG
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Digicomp Academy AG
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Digicomp Academy AG
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutDigicomp Academy AG
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutDigicomp Academy AG
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xDigicomp Academy AG
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Digicomp Academy AG
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinDigicomp Academy AG
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Digicomp Academy AG
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattDigicomp Academy AG
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogDigicomp Academy AG
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnDigicomp Academy AG
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingDigicomp Academy AG
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessDigicomp Academy AG
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Digicomp Academy AG
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceDigicomp Academy AG
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudDigicomp Academy AG
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slidesDigicomp Academy AG
 

More from Digicomp Academy AG (20)

Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
Becoming Agile von Christian Botta – Personal Swiss Vortrag 2019
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
 
Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018Innovation durch kollaboration gennex 2018
Innovation durch kollaboration gennex 2018
 
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handoutRoger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
Roger basler meetup_digitale-geschaeftsmodelle-entwickeln_handout
 
Roger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handoutRoger basler meetup_21082018_work-smarter-not-harder_handout
Roger basler meetup_21082018_work-smarter-not-harder_handout
 
Xing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit xXing expertendialog zu nudge unit x
Xing expertendialog zu nudge unit x
 
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
Responsive Organisation auf Basis der Holacracy – nur ein Hype oder die Zukunft?
 
IPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe KleinIPv6 Security Talk mit Joe Klein
IPv6 Security Talk mit Joe Klein
 
Agiles Management - Wie geht das?
Agiles Management - Wie geht das?Agiles Management - Wie geht das?
Agiles Management - Wie geht das?
 
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi OdermattGewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
Gewinnen Sie Menschen und Ziele - Referat von Andi Odermatt
 
Querdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING ExpertendialogQuerdenken mit Kreativitätsmethoden – XING Expertendialog
Querdenken mit Kreativitätsmethoden – XING Expertendialog
 
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickelnXing LearningZ: Digitale Geschäftsmodelle entwickeln
Xing LearningZ: Digitale Geschäftsmodelle entwickeln
 
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only BuildingSwiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
Swiss IPv6 Council: The Cisco-Journey to an IPv6-only Building
 
UX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital BusinessUX – Schlüssel zum Erfolg im Digital Business
UX – Schlüssel zum Erfolg im Digital Business
 
Minenfeld IPv6
Minenfeld IPv6Minenfeld IPv6
Minenfeld IPv6
 
Was ist design thinking
Was ist design thinkingWas ist design thinking
Was ist design thinking
 
Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich Die IPv6 Journey der ETH Zürich
Die IPv6 Journey der ETH Zürich
 
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)CommerceXing LearningZ: Die 10 + 1 Trends im (E-)Commerce
Xing LearningZ: Die 10 + 1 Trends im (E-)Commerce
 
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloudZahlen Battle: klassische werbung vs.online-werbung-somexcloud
Zahlen Battle: klassische werbung vs.online-werbung-somexcloud
 
General data protection regulation-slides
General data protection regulation-slidesGeneral data protection regulation-slides
General data protection regulation-slides
 

OpenTuesday: Jede Sekunde zählt - Webbeschleuniger Varnish im Einsatz

  • 1. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 1 Jede Sekunde zählt Webbeschleuniger Varnish im Einsatz
  • 2. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 2 Agenda Über snowflake Wieso HTTP Caching Alternativen Funktionsweise Über Varnish Module & Integrationen
  • 3. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 3 Über mich Andri Steiner Leiter Hosting Datacenter Automation Varnish evangelist ☺ VW Bus Schrauber Gleitschirmpilot
  • 4. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 4 snowflake kurz vorgestellt Gegründet 1999 Büros in Zürich, Bern und Luzern Varnish Hosting & Integrations- partner Fokus auf Open Source Technologien und Weblösungen rund 50 Mitarbeiter
  • 5. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 5 Hosting Service & Support SchulungDesign Beratung und Konzeption Umsetzung snowflake kurz vorgestellt
  • 6. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 6 2005: Idee @ Verdens Gang AS Poul-Henning Kamp BSD Lizenz Redpill Linpro / Varnish Software AS kommerzieller Support, Zusatzmodule 2006: v1 2008: v2 2011: v3 Integrations-/ Hosting-/ Schulungs- Partner Varnish kurz vorgestellt
  • 7. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 7 Wieso HTTP Caching Geschwindigkeit erhöhen Server entlasten Besucher- zufriedenheit steigern Kosten senken
  • 8. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 8 Geschwindigkeit erhöhen schnelle Seite glückliche Besucher Besucher- zufriedenheit steigern 250'000 req/s auf Desktop Hardware 1s Verzögerung -11% Besucher -16% Zufriedenh. -7% Verkäufe
  • 9. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 9 Server entlasten weniger Server, kleinere Server massive Kosten- einsparungen von 14 auf 2 (1) Server
  • 10. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 10 Weitere Vorteile Redundanz DoS Business Logik in VCL sehr schnell sehr flexibel geografische Verteilung Load Balancer Lizen z
  • 11. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 11 Software z.B. Squid langsamer weniger flexibel kein SupportAlternativen Hardware z.B. BigIP weniger flexibel sehr teuer CDNs gut für reines HTTP Caching unflexibel Vendor Lock-In sehr teuer Caching auf Applikations- ebene langsamer unflexibel Abhängigkeiten Hardware hohe Kosten kein/kleiner Geschwindigkeits- zuwachs SSL Support in den meisten Alternativen enthalten NICHT in Varnish
  • 12. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 12 sub vcl_fetch { # Cache only GET or HEAD Requests if (req.request != "GET" && req.request != "HEAD") { return (hit_for_pass); } # Cache static files if (req.url ~ "^[^?]*.(css|js|htc|txt|swf|flv|pdf|gif|jpe? g|png|ico|woff|ttf|eot|otf|xml|md5|json)($|?)") { return (deliver); } # Cache static Pages if (beresp.http.TYPO3­Pid && beresp.http.Pragma == "public") { unset beresp.http.Set­Cookie; return (deliver); } # do not cache everything else return (hit_for_pass); } Funktionsweise HTTP reverse Proxy Server Caching im RAM/Swap sehr effiziente Programmierung VCL Varnish Configuration Language
  • 13. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 13 ESI Edge Side Includes „iframes“ werden von Varnish zusammengesetzt dynamischen und statischen Inhalt mischen kann Sinn machen, muss aber nicht <html> <body> <h1>Privater Bereich</h1> <esi:include src="/privat/" /> <h1>News</h1> <p>...</p> </body> </html> besser AJAX verwenden ESI Requests müssen sehr performant sein Debugging kompliziert
  • 14. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 14 HTTP Standards Serverseitiger HTTP reverse Proxy Server (früher: Clientseitig) alle nötigen Funktionen bereits spezifiziert keine Magie in Varnish Magie in VCL möglich, aber nicht zwingend nötig GET / POST richtig unterscheiden
  • 15. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 15 HTTP Standards - Cookies Cookies = Sessionabhängige Daten = kein Caching keine Cookies verwenden Cookies an bestimmte Domain oder Pfad binden in VCL umgehen
  • 16. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 16 VCL State Engine, wird zur Laufzeit zu C Code kompiliert HTTP Header regular Expressions Eingriff in jedem Status möglich
  • 17. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 17 VCL - Beispiele sub vcl_recv { # do not cache TYPO3 BE User requests (Preview) if (req.http.Cookie ~ "be_typo_user" || req.url ~ "^/typo3/") { return (pass); } } sub vcl_fetch { # Cache only GET or HEAD Requests if (req.request != "GET" && req.request != "HEAD") { return (pass); } # Cache static Pages if (beresp.http.TYPO3-Pid && beresp.http.Pragma == "public") { unset beresp.http.Set-Cookie; return (deliver); } }
  • 18. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 18 VCL Backend Director Probes backend default { .host = "10.10.10.10"; .probe = { .url = "/status.php"; .interval = 5s; .timeout = 1s; .window = 5; .threshold = 3; } } director b2 random { { .backend = b1; .weight = 1; } { .backend = b1; .weight = 7; } }
  • 19. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 19 VCL Hashing sub vcl_hash { hash_data(server.ip); hash_data(req.url); # Additional hashes on / only # used for server-side Browser/Language Handling if (req.url ~ "^/$") { # User-Agent (normalized in vcl_recv) hash_data(req.http.User-Agent); # Accept-Language (normalized in vcl_recv) hash_data(req.http.Accept-Language); } return (hash); }
  • 20. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 20 VCL Cookie Handling sub vcl_recv { if (req.http.Cookie) { # throw away Google Analytics Cookies set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm[a-z]=[^;]+;? *", "1"); # throw away Client related Cookies set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *client_[0-9a-zA-Z_]+=[^;]+;? *", "1"); # throw away eID related Cookies on all non-eID related Request if (!req.url ~ "(?|&)eID=[0-9a-zA-Z_-]+") { set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *eID_[0-9a-zA-Z_]+=[^;]+;? *", "1"); } if (req.http.Cookie == "") { remove req.http.Cookie; } } }
  • 21. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 21 VCL Grace Mode sub vcl_recv { set req.grace = 6h; } sub vcl_fetch { set beresp.grace = 6h; }
  • 22. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 22 VCL Saint Mode sub vcl_fetch { if (beresp.status >= 500 && req.request != "POST") { set beresp.saintmode = 10s; return(restart); } }
  • 23. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 23 VCL Cache Invalidation sub vcl_recv { if (req.request == "PURGE" && client.ip ~ purge) { return (lookup); } if(req.http.Varnish-Ban-TYPO3-Pid) { ban("obj.http.TYPO3-Pid == " + req.http.X-Header); } if (req.request == "REFRESH" && client.ip ~ purge) { set req.request = "GET"; set req.hash_always_miss = true; } }
  • 24. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 24 Möglichkeiten sauberes Backend wenig VCL Caching anhand HTTP Header wenige - keine Ausnahmen „schwieriges“ Backend HTTP Header in- konsistent „cache all but some“ keine Zeit, schnelle Implementation, Probleme lindern Microcaching Kombinationen
  • 25. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 25 Möglichkeiten 10 bestbesuchte Seiten Weitere, wichtige Seiten Integration vornehmen, weitere Seiten später anpassen Ziele setzen, Kompromisse eingehen Herausforderung: für sich richtige Strategie fest- legen
  • 26. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 26 Logging shared Memory sehr mächtig, aber auch komplex varnishstat varnishtop varnishlog    14 TxRequest    ­ POST    14 TxURL        ­ /index.php?eID=tx_portfolio_casestudy_list    14 TxProtocol   ­ HTTP/1.1    14 TxHeader     ­ Host: www.snowflake.ch    14 TxHeader     ­ User­Agent: Mozilla/5.0 (X11; U; Linux x86_64; en­US;  rv:1.9.1.16) Gecko/20121207 Iceweasel/3.5.16 (like Firefox/3.5.16)    14 TxHeader     ­ Accept: application/json    14 TxHeader     ­ Accept­Language: en­us,en;q=0.5    14 TxHeader     ­ Accept­Charset: ISO­8859­1,utf­8;q=0.7,*;q=0.7    14 TxHeader     ­ X­Requested­With: XMLHttpRequest    14 TxHeader     ­ X­Request: JSON    14 TxHeader     ­ Content­Type: application/x­www­form­urlencoded;  charset=utf­8    14 TxHeader     ­ Referer: http://www.snowflake.ch/referenzen/    14 TxHeader     ­ Content­Length: 683    14 TxHeader     ­ Pragma: no­cache    14 TxHeader     ­ Cache­Control: no­cache    14 TxHeader     ­ X­Forwarded­For: 2a04:503:0:102:218:51ff:fece:60ac    14 TxHeader     ­ X­Varnish: 1755445627 7+11:30:12 Hitrate ratio:       10      100      272 Hitrate avg:     0.7762   0.8143   0.8362      3014567         9.98         4.66 client_conn ­ Client connections  accepted      6787583        10.98        10.50 client_req ­ Client requests received      5978620         8.98         9.25 cache_hit ­ Cache hits       721061         1.00         1.12 cache_miss ­ Cache misses        46086         0.00         0.07 backend_conn ­ Backend conn. success          923         0.00         0.00 backend_unhealthy ­ Backend conn. not  attempted           57         0.00         0.00 backend_fail ­ Backend conn. failures       795413         2.00         1.23 backend_reuse ­ Backend conn. reuses        24213         0.00         0.04 backend_toolate ­ Backend conn. was  closed       819658         2.00         1.27 backend_recycle ­ Backend conn.  recycles           49         0.00         0.00 backend_retry ­ Backend conn. retry            4         0.00         0.00 fetch_head ­ Fetch head       235244         0.00         0.36 fetch_length ­ Fetch with Length       604798         2.00         0.94 fetch_chunked ­ Fetch chunked         1095         0.00         0.00 fetch_close ­ Fetch wanted close            3         0.00         0.00 fetch_failed ­ Fetch failed          292         0.00         0.00 fetch_304 ­ Fetch no body (304)          132          .            .   n_sess_mem ­ N struct sess_mem           38          .            .   n_sess ­ N struct sess       288452          .            .   n_object ­ N struct object
  • 27. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 27 Debugging 3rd Party Tools VAC/VCS eigene Scripts, z.B. Nagios Check # /usr/local/vzscripts/nagios­varnish  Varnish OK: Running client_conn: 3016042 client_req: 6791127 client_drop: 0 cache_hit: 5981866  cache_hitpass: 0 cache_miss: 721433 backend_fail: 57 n_object: 288193 n_wrk_failed: 0 n_wrk_drop:  0 n_lru_nuked: 0 uptime: 646467
  • 28. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 28 Module Administration Console Custom Statistics Paywall freie & kostenpflichtige Module
  • 29. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 29 Varnish Administration Console zentrales Kontrollzentrum echtzeit Grafiken kontrolle mehrerer Server
  • 30. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 30 Varnish Custom Statistics echtzeit Daten „Whats hot“ Ladezeiten Cache hits/miss Verursacher von Backend Hits shared memory JSON API
  • 31. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 31 Varnish Paywall Zugriffskontrolle Zeitungen Magazine Intranets Abos Micropayment Metered usw.
  • 32. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 32 weitere Module Mobile Device Detection API Acceleration Hashninja weitere (freie und unfreie) unter https://www.varnish-cache.org/vmod
  • 33. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 33 Integrationen TYPO3 Magento Wordpress weitere ...
  • 34. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 34 TYPO3 Integration KISS / minimalinvasiv sendet Cache Infos in eigenem Header an Varnish sendet TYPO3 Cache Kommandos an Varnish Dokumentation & Code auf GitHub https://github.com/snowflakech/typo3-varnish
  • 35. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 35 snowflake & Varnish Hosting und Integrations- partner in Deutschland, Österreich und der Schweiz Betrieb, Implementation und Beratung Attraktive Bundlepreise
  • 36. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 36 weitere Informationen Community https://www.varnish-cache.org/ „varnish-misc“ Maillinglist Kommerziell http://www.snowflake.ch/varnish/ http://www.varnish-software.com/ nochmal sehen? https://speakerdeck.com/steinair
  • 37. snowflake | OpenTuesday - Jede Sekunde zählt: Webbeschleuniger Varnish im Einsatz, 01.10.2013 37 Andri Steiner snowflake productions gmbh Bruchstrasse 43 6003 Luzern +41 58 680 32 97 asteiner@snowflake.ch