Webtech 09 - Performance: Wer langsam ist, wird verlassen

  • View
    2.035

  • Download
    0

Embed Size (px)

DESCRIPTION

Dr. Johannes Mainusch, VP Operations at XING, talks about the relevance of performance at XING and how we measure and improve the website's speed.

Transcript

Presentation Title Verdana 28pt Bold third row

Wer langsam ist, wird verlassen - Web-Performance-Tuning

Dr. Johannes MainuschWebTech Conference, 16. November 2009

1

Herzlich willkommen,Ich stelle mich vor...Fragen: Wer kennt XING?- Wer arbeitet im Web Umfeld? Wer ist Entwickler? Projektleiter? Berater? Konzepter? Designer?

Anmerkung: Der Vortrag ist in engleutsch oder in denglisch, jedenfalls besttigte mir auch einmal irgendwer: Die beste Art der Kommunikation ist schlechtes Englisch... (Den Urheber dieses Zitats konnte ich nicht ausfindig machen, aber meine eigenen Erfahrungen am DESY mit Russen, Polen, Japanern, Kanadiern, Hollndern, Englndern, Amerikanern, ... besttigen das)... Also Obacht, bei Unverstndnis bitte nachfragen .

2

XINGOperations

Innovation bei Vollbetrieb

Zunchst kurz zum Vollbetrieb, wer sind wir und was bedeutet Vollbetrieb bei XING. Danach die Innovation...

2

XING ist das fhrende europische Online-Business-Netzwerk

XING ist das fhrende europische Online Business-Netzwerk mit Sitz in Europa.

Die Idee: jeder kann sicher seine berufsbezogenen Daten hinterlegen, seine Kontakte und sein Netzwerk pflegen, passende Jobs finden, Informationen zu Firmen finden, sich mit Experten austauschen und vieles mehr... XING ist der Karrierebegleiter...Nun einmal ein paar Eckdaten fr die Techniker, der Blick unter die Motorhaube

3

>660.000

Premium-Mitglieder

>8.300.000

Mitglieder

4

Wir haben ber 8.300.000 Mitglieder auf der Plattform. Also:-5x die Einwohner von Hamburg150 Fuballstadien voller Menschen

>180.000 Benutzer kommen in einer Stunde vorbei. Damit sind wir nach Alexa eine der 20 grten Sites in Deutschland. Das bedeutet auch, dass wir bei einem einstndigen Ausfall, drei Fuballstadien von Menschen drauen lassen...

+300

Server in 2 Rechenzentren

2 [s]

Reaktionszeit

5

Unsere Benutzer sollen on der XING Website nicht genervt sein. D.h., wie wollen die Erwartung erfllen, die Menschen an elektrisches Gert haben. Frage:Was war das elektrische Gert, dass sie alle zuerst im Leben bedient haben?

Der Lichtschalter. Und diese erste Erfahrung im Leben prgt uns. Das erwarten wir nun von allen anderen elektrischen Dingen auch. Schalter drcken, das Licht geht sofort an. Genau so soll es bei XING sein. D.h. Performance und Ausfallsicherheit werden bei uns gro geschrieben und auch dort sind wir noch lange nicht am Ziel. Ziel: 99% aller Anfragen sollen (am Browser!) innerhalb von 2 Sekunden beantwortet sein. Dazu haben wir > 300 Server in 2 Rechenzentren...

Mitarbeiter im Engineering

~100

Releases im Jahr

50

6

Wir releasen Mittwochs...Jeden Mittwoch. D.h. 50x im Jahr. Die Menge Angst, die man pro Jahr von Releases hat ist eine Konstante und wir haben diese Konstante durch 50 geteilt. D.h. wir sind gebt. Wir haben das bewusst in die Arbeitszeit und damit auch in eine Zeit gelegt, in der viele Benutzer auf der Plattform sind. So knnen wir sofort und in voller Besetzung auf Mitgliederfragen antworten. Wussten Sie es?

Klar gibt es noch manchmal Strungen, aber wir werden immer besser darin, die Releases strungsfrei hinzubekommen. Mut, Ausdauer und schrittweises Vorgehen helfen uns hier...

7

Performancematters

Innovation bei Vollbetrieb

Zunchst kurz zum Vollbetrieb, wer sind wir und was bedeutet Vollbetrieb bei XING. Danach die Innovation...

7

8

Was war unsere erste technische Erfahrung?

Was war ihre erste technische Erfahrung?... Das erste elektrische Gert, das wie als Mensch bedienten?

8

9

Performancematters

Wahrscheinlich bei uns allen der Lichtschalter. Und wir lernten, das Licht beim Einschalten sofort leuchtet. Wenn es nicht leuchtet, dann ist es kaputt. Der Mensch reagiert sehr schnell. Innerhalb von 250(?) Millisekunden, also (?) Sekunde werden beispielsweise visuelle Eindrcke verarbeitet und bewertet. Danach, wird dann der nchste Eindruck verarbeitet.

Also ist Licht kaputt, wenn es innerhalb dieser Zeit nicht leuchtet. hnlich verhlt sich die Erwartung bei anderen elektrischen Gerten, bspw. Dem Web-Broser und der angesurften Seite. Google hat mit Performance (und Relevanz der Suchergebnisse) Altavista zum Jahrtausendwechsel in punkto Benutzerzahlen KO geschlagen.

Fr mich folgt daraus: Performance matters... Dazu gibt es auch einige statistische Untersuchungen von Bing und Google (suche Bing and Google Agree: Slow Pages Lose Users)

9

10

Supercomputer Brain

Das menschliche Hirn......ist ein in der Lage, hochparallel Signale zu verarbeiten. Wenn ein Lichtimpuls auf das Menschliche Auge trifft, wandern die Signale durch die Rezeptoren im Auge zur ueren Hirnrinde und werden dort in einem mehrlagigen neuronalen Netz verarbeitet...

Reaktionszeit von der Wahrnehmung bis zur Reaktion: 0,3-0,5 Sekunden

Wir erwarten auch von unserem Gegenber eine hnlich schnelle Reaktion. Beispiel Mondmartin... Echo...

Fazit: Der Mensch ist darauf ausgelegt und trainiert, extrem schnell auf Basis komplexer Sinneseindrcke Entscheidungen zu treffen und Reaktionen auszulsen.

Schlechte Performance nervt im Wahrsten Sinne des Wortes. Unser Hirn, beginnt mit der nchsten Signalverarbeitung. Ist verwirrt, missinterpretiert sogar im schlimmsten Falle die Signale als Strung oder lst Alarm aus...

Wir mchten unsere Benutzer nicht diesem Stress aussetzen...

http://www2.sfs.nphil.uni-tuebingen.de/~hertrich/pub/w04/Sitzungen/02_Nov_04.pdfhttp://www.doktor-noll.de/spiele/reaktionstest.htm

10

11

Studien belegen:

wer langsam ist, wird verlassen

http://radar.oreilly.com/2009/06/bing-and-google-agree-slow-pag.html

Google & Bing untersuchten die Abwanderung von Nutzern bei schlechter Performance...Dazu wurde ein A/B Test durchgefhrt, in dem einer Gruppe von Benutzern der gleiche Web-Inhalt mit einer eingebauten Verzgerung vorgelegt wurde. Dann wurden unterschiedliche Parameter im Nutzerverhalten gemessen, etwa der Rckgang der Nutzung, ... (http://radar.oreilly.com/2009/06/bing-and-google-agree-slow-pag.html)Fazit: Schon 1/5 Sekunde Verzgerung bedeuten Verlust! Benutzer sind nachhaltig frustriert, kommen auch nach dem Test nicht vollstndig zurck!

11

matters!

Speed

12

13

Der Wasserfall Graph, was tun

Wasserfall Graph

Der Wasserfall Graph,Zeigt, wie die Assets einer Web-Page nacheinander geladen werden. Hier zeige ich einen typischen Ladevorgang bei XING.

13

14

Der Wasserfall Graph, was tun

Die Zeitverzgerung durch Server...Im Rechenzentrum ist meist gering im Vergleich zur Gesamtzeit.

14

15

Der Wasserfall Graph, was tun

Die Auslieferungszeit...Ist bei den meisten Websites viel zu hoch ebenso wie die Anzahl der nachgeladenen Assets.

15

16

Google macht es vor......extrem wenige Requests, die auch noch sehr schnell geliefert werden

16

17

FrameOf Mind

Forschergeist, Ausdauer und Motivation......zhlen zu den Eigenschaften, die fr Performance notwendig sind.

17

18

Manche Dinge...

18

19

Some things are obvious

springen einem sofort ins Auge...

19

20

Andere...

20

21

othersare hidden in plain sight

sind versteckt...

21

22

... man entdeckt sie!

22

23

keep on(re)searching!

Mit Performance ist es hnlich. So muss bei 50 Releaes im Jahr und bei ~200.000 Benutzern, die in einer Stunde vorbeischauen, immer wieder auf Performance, auf die Site - und wie sie funktioniert - geachtet werden.

23

24

...und verliert sie wieder aus den Augen...

24

3 Dinge,die uns schneller machen

Ich mchte im folgenden ber drei ausgewhlte Dinge aus unserem Manahmenkatalog zur Performance-Optimierung sprechen. Operations Monitoring Asset-Prefatching cache-flushing

25

26

OperationsMonitoring

26

27

1. Operations Monitoring

Kilobytes per pageview

Operations Monitoring:Oder: wie starte ich Performance Bewusstsein im eigenen Umfeld. Operations Monitoring

27

Messen, was der Benutzer erlebt...

Client-seitige Messungen:Ein Javascript-Schnipsel misst mit geringer Frequenz per Zufall am Browser.Das Ergebnis wird als ajax-get-request auf einen Apache-Server gespieltDort knnen wir dann die durchschnittlichen Ladezeiten am Browser aus dem Logfile sehen.

28

29

Beispiel: http-preloading verbessert die Performance

29

30

Warum Operations Monitoring:Bei 50 Releases pro Jahr haben wir einen guten Blick darauf, ob wir Fehler machen...Wir sehen Performance Strungen schneller und sind besser in der AnalyseEs motiviert alle, immer besser zu werden.

30

31

Beispiel: Zeitmessung am Client macht Teilausflle sichtbar...Wer merkt, dass wir eine Strung haben als erstes? Unsere Benutzer...

31

32

Open social Server failure...

Beispiel: Zeitmessung am Client macht Teilausflle sichtbar...Wer merkt, dass wir eine Strung haben als erstes? Unsere Benutzer...

32

33

Wer merkt, dass wir eine Strung haben als erstes? Unsere Benutzer...Fazit: - Monitoring hilft uns, Fehler zu beheben und - motiviert uns, immer neue Verbesserungen zu machen.

33

34

PreloadingAssets

Think about a typical client server communication...

34

35

Bla, b