ARNE
BLANKERTS
SEBASTIAN
HEUER
“Die Performance steigern
wir dann später durch
Caching?”
BASED ON ATRUE STORY
PRESENTEDINF...
ARNE BLANKERTS
THEPHP.CC
http://thephp.cc
SEBASTIAN HEUER
GLOBETROTTER AUSRÜSTUNG
http://sebastianheuer.de
ERSTER AKT
SHOP DB
BROWSER
SYSTEMARCHITEKTUR
ERP PIM
SHOP
DB
ABFRAGE DER ARTIKELDATEN
Komplexe Queries, da
normalisierte Datenhaltung.
Furchtbar teuer.Wird immer
on Request ge...
FILTER-QUERIES
SHOP DB
BROWSER
SEARCH
FILTERN ÜBER SUCHMASCHINE
ERP PIM
IDEE: SEITEN CACHEN
ANTWORTEN CACHEN
SHOP DB
BROWSER
SEARCH
CACHE
ERP PIM
PROBLEM: ZU VIELE MÖGLICHE
FILTERKONFIGURATIONEN FÜR
SINNVOLLES CACHING
<<
REWIND
ZWEITER AKT
NEUER ANSATZ
WIE WIRD DIE SEITE SCHNELL?
KURZE ANTWORTZEITEN
ARBEITVERMEIDEN
WIE WERDEN DIE ANTWORTZEITEN KURZ?
ERKENNTNIS:
ECHTE ARBEIT MUSS WOANDERS
PASSIEREN
UND WAS IST MIT DEM REST?
WELCHE ARBEIT ERFOLGT IM REQUEST?
WAS BRAUCHEN WIR EIGENTLICH FÜR DIE
BEANTWORTUNG EINES REQUESTS?
• ARTIKELSTAMMDATEN
• ARTIKELBEWERTUNGEN
• BESTÄNDE
• PRE...
WAS BRAUCHEN WIR WIRKLICH FÜR DIE
BEANTWORTUNG EINES REQUESTS?
• HTML-AUSGABE
• ARTIKELSTAMMDATEN
• ARTIKELBEWERTUNGEN
• BESTÄNDE
• PREISE
• HTML-AUSGABE!=
WER ERZEUGT DIE HTML-AUSGABE?
WILLKOMMEN BEIM REST
WENN SICH ARTIKELDATEN ÄNDERN
WANN ERZEUGEN WIR DIE
HTML-AUSGABE?
WANN ÄNDERN SICH ARTIKELDATEN?
• NEUE PREISE / BESTÄNDE AUS DEM ERP
• REDAKTEUR LÄDT NEUES ARTIKELBILD HOCH
• SHOPMANAGER ...
WIE ERZEUGEN WIR DIE HTML-AUSGABE?
Snippet
list_item_100561
Snippet
Snippet
Snippet
list_item_103541
Snippet
Snippet
Snippet
list_item_108112
Snippet
Snippet...
WAS HEIßT DAS FÜR UNSERE
SYSTEMARCHITEKTUR?
ALTE, ZENTRALISTISCHE ARCHITEKTUR
SHOP DB
ERP PIM
BROWSER
SEARCH
NEUE ARTIKELDATEN
KEY/VALUE
STORAGESEARCH
BACKEND
ERP PIM
EINGEHENDER REQUEST
FRONTEND
KEY/VALUE
STORAGESEARCH
BROWSER
BACKEND
ERP PIM
FRONTEND
KEY/VALUE
STORAGESEARCH
BACKEND
NEUE,VERTEILTE ARCHITEKTUR
BROWSER
ERP PIM
ZAHLEN AUS DER PRAXIS
• DURCHSCHNITTLICH: 32 PI/S (4 X 8 PI/S)
• PEAK: 140 PI/S (4 X 35 PI/S)
• KEINE AUSWIRKUNG AUF DIE LADEZEITEN
• MAX. 5 AKT...
ERGEBNIS:
DIE SEITE IST OHNE CACHES SCHNELL
HAPPY END!
@GLOBETROTTERDEV
@BELANUR
@THEPHPCC
@ARNEBLANKERTS
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014
Nächste SlideShare
Wird geladen in …5
×

"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014

554 Aufrufe

Veröffentlicht am

Webseiten müssen schnell sein, denn die Bereitschaft, auf das Laden einer Webseite zu warten, sinkt stetig. Folglich zählt jede Millisekunde, wenn es darum geht, Absprünge zu vermeiden. Egal ob reale Ladezeiten, gefühlte Dauer des Seitenaufbaus oder das Reaktionsverhalten im Browser – es gibt viele Stellen, an denen im Client gemessen und regelmäßig optimiert wird. Tauchen Engpässe hingegen im Backend auf, gilt scheinbar vor allem eine Parole: exzessives Caching! Blöd nur, wenn sich Inhalte so häufig ändern, dass diese Maßnahme praktisch wirkungslos ist. Könnte man doch nur eine Applikation so entwerfen, dass sie ohne Caching hochperformant arbeitet…

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
554
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
6
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

"Die Performance steigern wir dann später durch Caching?" @ code.talks 2014

  1. 1. ARNE BLANKERTS SEBASTIAN HEUER “Die Performance steigern wir dann später durch Caching?” BASED ON ATRUE STORY PRESENTEDINFULLHDBYTHEPHP.CCAND GLOBETROTTERAUSRUESTUNGBASEDONTHE EXPERIENCE OF ARNE BLANKERTS, STEFAN PRIEBSCH, SEBASTIAN BERGMANN AND SEBASTIANHEUERPERFORMANCEDATATAKENFROMGLOBETROTTER.DEGRAPHSPROVIDED BYMETAWAYSINFOSYSTEMSPREMIERINGAT CODE.TALKS2014IN HAMBURG
  2. 2. ARNE BLANKERTS THEPHP.CC http://thephp.cc
  3. 3. SEBASTIAN HEUER GLOBETROTTER AUSRÜSTUNG http://sebastianheuer.de
  4. 4. ERSTER AKT
  5. 5. SHOP DB BROWSER SYSTEMARCHITEKTUR ERP PIM
  6. 6. SHOP DB ABFRAGE DER ARTIKELDATEN Komplexe Queries, da normalisierte Datenhaltung. Furchtbar teuer.Wird immer on Request gemacht. SUCHE MIT FILTERN Dynamisch generierte Query mit diversen Bedingungen für die Filter.Aus Entwicklersicht fehleranfällig.Teuer, schlecht cachebar (Query Cache)
  7. 7. FILTER-QUERIES
  8. 8. SHOP DB BROWSER SEARCH FILTERN ÜBER SUCHMASCHINE ERP PIM
  9. 9. IDEE: SEITEN CACHEN
  10. 10. ANTWORTEN CACHEN SHOP DB BROWSER SEARCH CACHE ERP PIM
  11. 11. PROBLEM: ZU VIELE MÖGLICHE FILTERKONFIGURATIONEN FÜR SINNVOLLES CACHING
  12. 12. << REWIND
  13. 13. ZWEITER AKT
  14. 14. NEUER ANSATZ
  15. 15. WIE WIRD DIE SEITE SCHNELL? KURZE ANTWORTZEITEN
  16. 16. ARBEITVERMEIDEN WIE WERDEN DIE ANTWORTZEITEN KURZ?
  17. 17. ERKENNTNIS: ECHTE ARBEIT MUSS WOANDERS PASSIEREN
  18. 18. UND WAS IST MIT DEM REST? WELCHE ARBEIT ERFOLGT IM REQUEST?
  19. 19. WAS BRAUCHEN WIR EIGENTLICH FÜR DIE BEANTWORTUNG EINES REQUESTS? • ARTIKELSTAMMDATEN • ARTIKELBEWERTUNGEN • BESTÄNDE • PREISE
  20. 20. WAS BRAUCHEN WIR WIRKLICH FÜR DIE BEANTWORTUNG EINES REQUESTS? • HTML-AUSGABE
  21. 21. • ARTIKELSTAMMDATEN • ARTIKELBEWERTUNGEN • BESTÄNDE • PREISE • HTML-AUSGABE!=
  22. 22. WER ERZEUGT DIE HTML-AUSGABE?
  23. 23. WILLKOMMEN BEIM REST
  24. 24. WENN SICH ARTIKELDATEN ÄNDERN WANN ERZEUGEN WIR DIE HTML-AUSGABE?
  25. 25. WANN ÄNDERN SICH ARTIKELDATEN? • NEUE PREISE / BESTÄNDE AUS DEM ERP • REDAKTEUR LÄDT NEUES ARTIKELBILD HOCH • SHOPMANAGER GIBT NEUE ARTIKELBEWERTUNG FREI
  26. 26. WIE ERZEUGEN WIR DIE HTML-AUSGABE?
  27. 27. Snippet list_item_100561 Snippet Snippet Snippet list_item_103541 Snippet Snippet Snippet list_item_108112 Snippet Snippet Snippet list_item_204936 Snippet Snippet Snippet Snippet Snippet Snippet
  28. 28. WAS HEIßT DAS FÜR UNSERE SYSTEMARCHITEKTUR?
  29. 29. ALTE, ZENTRALISTISCHE ARCHITEKTUR SHOP DB ERP PIM BROWSER SEARCH
  30. 30. NEUE ARTIKELDATEN KEY/VALUE STORAGESEARCH BACKEND ERP PIM
  31. 31. EINGEHENDER REQUEST FRONTEND KEY/VALUE STORAGESEARCH BROWSER BACKEND ERP PIM
  32. 32. FRONTEND KEY/VALUE STORAGESEARCH BACKEND NEUE,VERTEILTE ARCHITEKTUR BROWSER ERP PIM
  33. 33. ZAHLEN AUS DER PRAXIS
  34. 34. • DURCHSCHNITTLICH: 32 PI/S (4 X 8 PI/S) • PEAK: 140 PI/S (4 X 35 PI/S) • KEINE AUSWIRKUNG AUF DIE LADEZEITEN • MAX. 5 AKTIVE PROZESSE JE MASCHINE
  35. 35. ERGEBNIS: DIE SEITE IST OHNE CACHES SCHNELL
  36. 36. HAPPY END!
  37. 37. @GLOBETROTTERDEV @BELANUR @THEPHPCC @ARNEBLANKERTS

×