SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Redaktionelle Hochlastseiten Nils Langner, Gruner + Jahr Mike Lohmann, Gruner + Jahr ICANS GmbH
Wir. Mike Lohmann Architektur Autor (PHPMagazin) Stolzer Papa Nils Langner Qualitätsmanagement und Architektur Blogger (www.phphatesme.com) Stolzer Papa Redaktionelle Hochlastseiten 2
Agenda. Redaktionelle Hochlastseiten 3 ,[object Object]
Infrastruktur und Deployment.
Günstiger und schneller ausliefern ohne Codeanpassung.
Nutzung von CDN und ESI.,[object Object]
Redaktionelle Webseiten „Keine“ vom User erstellten Inhalte „kleine“ Gruppe  von Redakteuren Überschaubare Anzahl neuer Artikel Seiten bestehen aus  vielen statischen Einzelkomponenten Redaktionelle Hochlastseiten 5
stern.de in Zahlen Tägliche Stoßzeiten mit  Verdreifachung der Anfragen stern.tv Verzehnfachung der Anfragen Größe der Startseite  über1MB 160.000.000  Seitenabrufe „Kernarbeitszeiten“ 7-21 Uhr 16.000.000.000 Requests Sieben Seitenabrufe  pro Besuch Redaktionelle Hochlastseiten 6
Ziele des Vortrags Wir kochen auch nur mit Wasser. Performanz ist wichtig. Einfach ist wichtiger. „Gut-genug“-Prinzip: Lösung folgt Anforderung. Praxiserfahrungen vermitteln. Funky Technologien. Frontend-Performance. Redaktionelle Hochlastseiten 7
Infrastruktur Storage NFSv4 .php, .jpg, .css… Webserver CentOS 6.0 (Apache,  PHP 5.3 + Module) Datenbank MySQL 5.1 Redaktionelle Hochlastseiten 8
Deployment Betrieb (Systemadmins) Entwicklung Stage Live Integration Webistrano Dev-(Image) SVN Redaktionelle Hochlastseiten 9
„One-Click-Install“ Alle Live-Konfigurationen im SVN Alle Instanzen (Dev, Integration, Stage und Live) funktionieren mit Live-Konfiguration ,[object Object]
MySQL (ebenfalls auf localhost umgebogen)Redaktionelle Hochlastseiten 10 Applikation ist sofort nach SVN EXPORT lauffähig Voraussetzung für Release über Webistrano, da keine Scripte ausgeführt werden können.
Der „Geld spielt keine Rolle“-Ansatz Request: bis 500 MB Server: 16 GB Ram Maximal 32 gleichzeitige Request 16.000.000.000 Requests 16.000.000.000 1.512.000 10582 31746 Requests Sekunden Requests pro Sekunde Requests in Spitzenzeiten 5958 Server Die Site benötigt 6 Sekunden zum Berechnen! Redaktionelle Hochlastseiten 11
Klassifizierung der Requests Dynamische Requests Ein dynamischer Request (HTML)über PHP zusammengefügt. Statische Requests 100 statische Requests auf css-, js- und Bilddateien. Redaktionelle Hochlastseiten 12
Trennung der Inhalte 3 Sub-Domains für verschiede statische Inhalte s1.stern.de => Bilder, CSS, JS zur Applikation gehörig d1.stern.de => Bilder, von Usern erstellt c1.stern.de => Bilder, CSS, JS, zu einem Inhalt gehörig und über das CMS erstellt Config-Datei zur Konfiguration der Sub-Domain für die verschiedenen Inhalte 1 Domain für dynamische Inhalte (von PHP prozessiert) stern.de => HTML, XML, RSS, JSON Redaktionelle Hochlastseiten 13
Trennung der Inhalte 160.000.000 Requests Dynamische Inhalte maximal 32 gleichzeitige Anfragen 15.840.000.000 Requests Statische Inhalte 6000 Anfragen pro Sekunde 106 318 10476 31429 dynamische Requests im Schnitt dynamische Requests im Peak statische Requests pro Sekunde Statische Requests im Peak 60 6 66 Server Redaktionelle Hochlastseiten 14
HTTP-Cache-Control-HeaderBrowser-Cache Redaktionelle Hochlastseiten 15 Anweisungen für Caches Wie lange ist ein bestimmter Inhalt gültig? 2 Caching-Strategien Auslaufen -> Expires Verifizieren -> If-Modified-Since, ETag s1.stern.de = Expires („unendlich“, Invalidierung über ?id=<hash>) c1.stern.de und d1.stern.de = Expires (begrenzt) + Validation stern.de = Expires (abhängig vom Alter des Artikels) Beispiel
HTTP-Cache-Control-Header Browser-Cache Redaktionelle Hochlastseiten 16 160.000.000 Requests Dynamische Inhalte maximal 32 gleichzeitige Anfragen 11.088.000.000 Requests Statische Inhalte 6000 Anfragen pro Sekunde dynamische Requests im Schnitt dynamische Requests im Peak statische Requests pro Sekunde Statische Requests im Peak 60 106 318 7334 22000 4 64 Server
HTTP-Accelerator(Web-Cache, Gateway-Cache, Reverse Proxy) „ Varnish Cache is an open source, state of the art web application accelerator. You install it on your web server and it makes your website fly. “ Redaktionelle Hochlastseiten 17
HTTP-Accelerator(Funktionsweise) Beruht auf HTTP; Verben (Methoden) müssenkorrektgenutztwerden. Redaktionelle Hochlastseiten 18
HTTP-Accelerator ,[object Object]
 70% Cache-Hitrate bei dynamischen Inhalten
stale-if-error
stale-while-revalidateRedaktionelle Hochlastseiten 19
HTTP-Accelerator vs. Personalisierung Lösungen ,[object Object]
 FTD-Ansatz: Nutze Ajax
Externer Service (z.B.: Disqus)
Iframes
ESIRedaktionelle Hochlastseiten 20
HTTP-Accelerator 70% 160.000.000 Requests Dynamische Inhalte maximal 32 gleichzeitige Anfragen 11.088.000.000 Requests Statische Inhalte 6000 Anfragen pro Sekunde 99.9 % Redaktionelle Hochlastseiten 21 dynamische Requests im Schnitt dynamische Requests im Peak statische Requests pro Sekunde Statische Requests im Peak 32 96 7 22 18 1 19 Server
Byte-Code-Cache Erfahrungsbericht PHP-Code Byte-Code Lexing Parsing $output = „Hello World!“; echo $output; return; ASSIGN !0 ‚Hello+World%21‘ ECHO !0 RETURN 1 ZEND_HANDLE_EXCEPTION Execution ,[object Object]
 Fehler im APC bringen Konzepte durcheinander
CentOS nicht „patchbar“
 Apache nutzt keine „realen“ Pfade
 stat0 nicht nutzbarPHP-Code Byte-Code $output = „Hello World!“; echo $output; return; ASSIGN !0 ‚Hello+World%21‘ ECHO !0 RETURN 1 ZEND_HANDLE_EXCEPTION Execution Redaktionelle Hochlastseiten 22
Byte-Code-Cache Redaktionelle Hochlastseiten 23 APC 70% 160.000.000 Requests Dynamische Inhalte maximal 32 gleichzeitige Anfragen 11.088.000.000 Requests Statische Inhalte 6000 Anfragen pro Sekunde 99.9 % dynamische Requests im Schnitt dynamische Requests im Peak statische Requests pro Sekunde Statische Requests im Peak 32 96 7 22 6 1 7 Server
Applikation Bis hier noch keine Zeile Applikationscode  angefasst, trotzdem Faktor 1000 günstiger!  für 70% der User nur noch 150ms für einen Seitenaufruf. Anmerkung für den Redner: Stehende Ovationen abwarten! Redaktionelle Hochlastseiten 24
„ Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. “ Redaktionelle Hochlastseiten 25
Memcached als Objectcache memcache- Server Webserver stern.de ,[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

ArtCom Sup Actualités
ArtCom Sup ActualitésArtCom Sup Actualités
ArtCom Sup Actualitésalaincarre14
 
Laboratorio
LaboratorioLaboratorio
Laboratoriomgomez4
 
Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!eCommerce Lounge
 
ms2goFASHION
ms2goFASHIONms2goFASHION
ms2goFASHIONMaricely
 
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...Institut Supérieur des Métiers
 
A1 leçon 1 (l'alphabet, épeler)
A1 leçon 1 (l'alphabet, épeler)A1 leçon 1 (l'alphabet, épeler)
A1 leçon 1 (l'alphabet, épeler)Francois Jacob
 
MURALES (Escuela Pedro de Mendoza)
MURALES (Escuela Pedro de Mendoza) MURALES (Escuela Pedro de Mendoza)
MURALES (Escuela Pedro de Mendoza) laura
 
Delicious et travail collaboratif
Delicious et travail collaboratifDelicious et travail collaboratif
Delicious et travail collaboratifMoiraud Jean-Paul
 
Faribault claude la ville sur demande_4oct
Faribault claude la ville sur demande_4octFaribault claude la ville sur demande_4oct
Faribault claude la ville sur demande_4octACSG - Section Montréal
 
Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]gueste8cc7f2
 
Sandra Staub - Workshopkatalog 2014
Sandra Staub - Workshopkatalog 2014Sandra Staub - Workshopkatalog 2014
Sandra Staub - Workshopkatalog 2014Sandra Staub
 
Conjuro pareja-sioux
Conjuro pareja-siouxConjuro pareja-sioux
Conjuro pareja-siouxbernal27
 
Diapo Dropbox
Diapo DropboxDiapo Dropbox
Diapo DropboxAnnapic
 

Andere mochten auch (20)

ArtCom Sup Actualités
ArtCom Sup ActualitésArtCom Sup Actualités
ArtCom Sup Actualités
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Penser Amis
Penser AmisPenser Amis
Penser Amis
 
Manual
ManualManual
Manual
 
Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!Kreditkarte- be compliant in 6 Schritten!
Kreditkarte- be compliant in 6 Schritten!
 
ms2goFASHION
ms2goFASHIONms2goFASHION
ms2goFASHION
 
Dilemas eticos
Dilemas eticosDilemas eticos
Dilemas eticos
 
5.- Subsecretaría de Promoción de la Comunicación
5.- Subsecretaría de Promoción de la Comunicación5.- Subsecretaría de Promoción de la Comunicación
5.- Subsecretaría de Promoción de la Comunicación
 
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...
Tableau économique de l'artisanat - Cahier V - L'emploi dans les entreprises ...
 
A1 leçon 1 (l'alphabet, épeler)
A1 leçon 1 (l'alphabet, épeler)A1 leçon 1 (l'alphabet, épeler)
A1 leçon 1 (l'alphabet, épeler)
 
MURALES (Escuela Pedro de Mendoza)
MURALES (Escuela Pedro de Mendoza) MURALES (Escuela Pedro de Mendoza)
MURALES (Escuela Pedro de Mendoza)
 
Delicious et travail collaboratif
Delicious et travail collaboratifDelicious et travail collaboratif
Delicious et travail collaboratif
 
Abstention brechon
Abstention brechonAbstention brechon
Abstention brechon
 
Ingénierie des tissus mous in situ
Ingénierie des tissus mous in situIngénierie des tissus mous in situ
Ingénierie des tissus mous in situ
 
Faribault claude la ville sur demande_4oct
Faribault claude la ville sur demande_4octFaribault claude la ville sur demande_4oct
Faribault claude la ville sur demande_4oct
 
Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]Generación%20 de%20contenidos[1]
Generación%20 de%20contenidos[1]
 
Feature satip2
Feature satip2Feature satip2
Feature satip2
 
Sandra Staub - Workshopkatalog 2014
Sandra Staub - Workshopkatalog 2014Sandra Staub - Workshopkatalog 2014
Sandra Staub - Workshopkatalog 2014
 
Conjuro pareja-sioux
Conjuro pareja-siouxConjuro pareja-sioux
Conjuro pareja-sioux
 
Diapo Dropbox
Diapo DropboxDiapo Dropbox
Diapo Dropbox
 

Ähnlich wie Redaktionelle Hochlastwebseiten am Beispiel von stern.de

Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performanceglembotzky
 
HTTP/2 – Ist das auch gut für java-basierte Webservices?
HTTP/2 – Ist das auch gut für java-basierte Webservices?HTTP/2 – Ist das auch gut für java-basierte Webservices?
HTTP/2 – Ist das auch gut für java-basierte Webservices?JanWeinschenker
 
Wordpress on steroids
Wordpress on steroidsWordpress on steroids
Wordpress on steroidsBlogwerk AG
 
Chefkoch goes Drupal8
Chefkoch goes Drupal8Chefkoch goes Drupal8
Chefkoch goes Drupal8Per Bernhardt
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Zeitgemäße Webentwicklung
Zeitgemäße WebentwicklungZeitgemäße Webentwicklung
Zeitgemäße WebentwicklungStephan Lindauer
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenDavid Schneider
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaOPEN KNOWLEDGE GmbH
 
Seo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersSeo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersJan Berens
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseBenjamin Schmid
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesAWS Germany
 
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime BiddingSeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime BiddingMarkus Ostertag
 
Cloud Computing am Beispiel dctp.tv
Cloud Computing am Beispiel dctp.tvCloud Computing am Beispiel dctp.tv
Cloud Computing am Beispiel dctp.tvFabian Topfstedt
 
Website Speed mit CDN
Website Speed mit CDNWebsite Speed mit CDN
Website Speed mit CDNMariano Glas
 
Product Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittProduct Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittJustRelate
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend PerformanceNico Steiner
 
eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch eZ Publish Community
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Digicomp Academy AG
 

Ähnlich wie Redaktionelle Hochlastwebseiten am Beispiel von stern.de (20)

Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
HTTP/2 – Ist das auch gut für java-basierte Webservices?
HTTP/2 – Ist das auch gut für java-basierte Webservices?HTTP/2 – Ist das auch gut für java-basierte Webservices?
HTTP/2 – Ist das auch gut für java-basierte Webservices?
 
Wordpress on steroids
Wordpress on steroidsWordpress on steroids
Wordpress on steroids
 
Chefkoch goes Drupal8
Chefkoch goes Drupal8Chefkoch goes Drupal8
Chefkoch goes Drupal8
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Zeitgemäße Webentwicklung
Zeitgemäße WebentwicklungZeitgemäße Webentwicklung
Zeitgemäße Webentwicklung
 
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und behebenPimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
Seo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for BeginnersSeo Campixx 2015 - Technical SEO for Beginners
Seo Campixx 2015 - Technical SEO for Beginners
 
Datenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBaseDatenbank-Refactoring mit LiquiBase
Datenbank-Refactoring mit LiquiBase
 
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpacesWebinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
Webinar Neues von der re:invent 2013 Teil 2: Kinesis, AppStream, WorkSpaces
 
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime BiddingSeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
SeoCampixx 2013 - DNTX - 300+ Mio User pro Monat im Realtime Bidding
 
Cloud Computing am Beispiel dctp.tv
Cloud Computing am Beispiel dctp.tvCloud Computing am Beispiel dctp.tv
Cloud Computing am Beispiel dctp.tv
 
JavaScript Performance
JavaScript PerformanceJavaScript Performance
JavaScript Performance
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Website Speed mit CDN
Website Speed mit CDNWebsite Speed mit CDN
Website Speed mit CDN
 
Product Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas WittProduct Update: Infopark Cloud Express - Thomas Witt
Product Update: Infopark Cloud Express - Thomas Witt
 
Frontend Performance
Frontend PerformanceFrontend Performance
Frontend Performance
 
eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch eZ Publish Plateform 5.2 Webinar Deutsch
eZ Publish Plateform 5.2 Webinar Deutsch
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016
 

Redaktionelle Hochlastwebseiten am Beispiel von stern.de