Die Performance von Webseiten optimieren Thomas Lohner Hosting für Fortgeschrittene.

Post on 05-Apr-2015

118 views 1 download

Transcript of Die Performance von Webseiten optimieren Thomas Lohner Hosting für Fortgeschrittene.

Die Performance von Webseiten

optimieren

Thomas Lohner

Hosting für Fortgeschrittene

•Was wird optimiert?

•An welcher Stelle wird optimiert?

•Beispiele

•Tipps, Tricks, Urban Legends

Was wird optimiert?

Was wird optimiert?

•langsam / schlecht programmiert

Was wird optimiert?

•langsam / schlecht programmiert

Was wird optimiert?

•langsam / schlecht programmiert

•Welche Inhalte werden am häufigsten aufgerufen?

Was wird optimiert?

•langsam / schlecht programmiert

•Welche Inhalte werden am häufigsten aufgerufen?

Was wird optimiert?

•langsam / schlecht programmiert

•Welche Inhalte werden am häufigsten aufgerufen?

•D. M. D. A.

Was wird optimiert?

•langsam / schlecht programmiert

•Welche Inhalte werden am häufigsten aufgerufen?

•D. M. D. A.

Wo wird optimiert?

Wo wird optimiert?

DB PHP HTML

Wo wird optimiert?

DB PHP HTML

Beispiel:

www.macnews.de

6 Mio. Seitenaufrufe

Wo wird optimiert?

DB PHP HTML

DB PHP HTML x 4

Beispiel:

www.macnews.de

6 Mio. Seitenaufrufe

Wo wird optimiert?

DB PHP HTML

DB PHP HTML x 4

DB PHP HTML x 25

Beispiel:

www.macnews.de

6 Mio. Seitenaufrufe

Wo wird optimiert?

DB PHP HTML

DB PHP HTML x 4

DB PHP HTML x 25

(bei Wordpress x 100 )

Beispiel:

www.macnews.de

6 Mio. Seitenaufrufe

Beispiele

Beispiele

•golem.de

28 Mio. Seitenaufrufe pro Monat

Beispiele

•golem.de

28 Mio. Seitenaufrufe pro Monat

2 x MySQL3 x Apache + PHP1 x CMS

Beispiele

•golem.de

CMSHTML

Datenbank

Webserver

Beispiele

•Leichtathletik WM 2009

Beispiele

•Leichtathletik WM 20092 x MySQL2 x Apache + PHPnginx als transparenter Cache+ SpoonfeedingStatische Inhalte aus dem CDN

Beispiele

•Leichtathletik WM 2009

DB CMS / PHP nginxUserUserUserCDN

Beispiele

•nginx als transparenter Cache

Beispiele

•nginx als transparenter Cache

nginxBrowserAnfrage

Beispiele

•nginx als transparenter Cache

nginx hit CacheBrowserAnfrage

Beispiele

•nginx als transparenter Cache

nginx hit CacheAnfrage

Antwort

Beispiele

•nginx als transparenter Cache

nginx hit

WebserverCMSDatenbank

CacheAnfrage

Antwortmiss

Spoonfeeding

Spoonfeeding

Webserver

User 1

User 2

User 3

DSL

UMTS

Spoonfeeding

Webserver

User 1

User 2

User 3

DSL

Webserver

User 1

User 2

User 3

nginx

localhostoder GBit

DSL

UMTS

UMTS

Aber ich habe dynamische

Inhalte!?

Aber ich habe dynamische

Inhalte!?•„Hallo Thomas! Logout.“

•Ansicht-Switcher

•Kommentare

•„Hallo Thomas! Logout.“

•„Hallo Thomas! Logout.“

Username in Cookie speichernund per Javascript auslesen.

•Ansicht-Switcher (Farben, Inhalte)

•Ansicht-Switcher (Farben, Inhalte)

Für jede Ansicht eine URL anlegen:site.com/fulltext/site.com/headlines/site.com/thisweek/

•Ansicht-Switcher (Farben, Inhalte)

Für jede Ansicht eine URL anlegen:site.com/fulltext/site.com/headlines/site.com/thisweek/

URL in Cookie speichern, perJavascript auslesen und weiterleiten

•Kommentare

•KommentareArtikel als HTML ausliefern und Platzhalter für Kommentare verwenden:

<div class=‘hidden‘ id=‘comments‘></div>

•KommentareArtikel als HTML ausliefern und Platzhalter für Kommentare verwenden:

<div class=‘hidden‘ id=‘comments‘></div>Kommentare per Ajax nachladen.

•KommentareArtikel als HTML ausliefern und Platzhalter für Kommentare verwenden:

<div class=‘hidden‘ id=‘comments‘></div>Kommentare per Ajax nachladen.Noch besser:Kommentare via Facebook einbinden.

Tipps, Tricks, Märchen

• PHP ist für PHP

• Yahoo‘s 34 rules for speeding up your Website

• Lass andere die Arbeit machen

• „Refactor later“

• NoSQL, Alternativen zu MySQL

• „Die Datenbank ist der Flaschenhals“

• „Frameworks fressen Performance“

• „Hardware ist billiger als Entwickler“

Tipps, Tricks, Märchen

•PHP ist für PHP

<img src=‘img.php?path=/media/logo.gif‘>

Tipps, Tricks, Märchen

•PHP ist für PHP

<img src=‘img.php?path=/media/logo.gif‘>

Apache + PHP = 15 MB RAM

Tipps, Tricks, Märchen

•PHP ist für PHP

<img src=‘img.php?path=/media/logo.gif‘>

Apache + PHP = 15 MB RAMApache = 5 MB RAMnoch besser: lighty / nginx

Tipps, Tricks, Märchen

•Yahoo‘s 34 rules for speeding up your Website

Tipps, Tricks, Märchen

•Yahoo‘s 34 rules for speeding up your Website

Tipps, Tricks, Märchen

• Lass andere die Arbeit machen

Tipps, Tricks, Märchen

• Lass andere die Arbeit machen

2 PHP Webservervs.

4000 Browser

Tipps, Tricks, Märchen

• „Refactor later“

Tipps, Tricks, Märchen

• „Refactor later“

Jetzt oder nie!

Tipps, Tricks, Märchen

• NoSQL, Alternativen zu MySQL

CouchDBMongoDBSimpleDB (Amazon)Project VoldemortCassandraRedis

Tipps, Tricks, Märchen

• „Die Datenbank ist der Flaschenhals“

Tipps, Tricks, Märchen

• „Die Datenbank ist der Flaschenhals“

Offensichtlich vs. Tatsächlich

Tipps, Tricks, Märchen

• „Frameworks fressen Performance“

Tipps, Tricks, Märchen

• „Frameworks fressen Performance“

Total costsWartbarkeitCoding StyleEinarbeitungszeit

Tipps, Tricks, Märchen

• „Frameworks fressen Performance“

Total costsWartbarkeitCoding StyleEinarbeitungszeit

Fazit: Framework verbessern / optimieren

Tipps, Tricks, Märchen

• „Hardware ist billiger als Entwickler“

Tipps, Tricks, Märchen

• „Hardware ist billiger als Entwickler“

Tipps, Tricks, Märchen

• „Hardware ist billiger als Entwickler“

Server verlieren Wert.

Menschen werden besser.

thx, Cheers!, good night.

Hosting für Fortgeschrittene