Webtech 09 - Performance: Wer langsam ist, wird verlassen

  • Published on
    21-Oct-2014

  • View
    2.034

  • 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

<p>Presentation Title Verdana 28pt Bold third row</p> <p>Wer langsam ist, wird verlassen - Web-Performance-Tuning </p> <p>Dr. Johannes MainuschWebTech Conference, 16. November 2009</p> <p>1</p> <p>Herzlich willkommen,Ich stelle mich vor...Fragen: Wer kennt XING?- Wer arbeitet im Web Umfeld? Wer ist Entwickler? Projektleiter? Berater? Konzepter? Designer?</p> <p>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 .</p> <p>2</p> <p>XINGOperations</p> <p>Innovation bei Vollbetrieb</p> <p>Zunchst kurz zum Vollbetrieb, wer sind wir und was bedeutet Vollbetrieb bei XING. Danach die Innovation...</p> <p>2</p> <p>XING ist das fhrende europische Online-Business-Netzwerk</p> <p>XING ist das fhrende europische Online Business-Netzwerk mit Sitz in Europa.</p> <p>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 </p> <p>3</p> <p>&gt;660.000</p> <p>Premium-Mitglieder</p> <p>&gt;8.300.000</p> <p>Mitglieder</p> <p>4</p> <p>Wir haben ber 8.300.000 Mitglieder auf der Plattform. Also:-5x die Einwohner von Hamburg150 Fuballstadien voller Menschen</p> <p>&gt;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...</p> <p>+300</p> <p>Server in 2 Rechenzentren</p> <p>2 [s]</p> <p>Reaktionszeit</p> <p>5</p> <p>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? </p> <p>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 &gt; 300 Server in 2 Rechenzentren...</p> <p>Mitarbeiter im Engineering</p> <p>~100</p> <p>Releases im Jahr</p> <p>50</p> <p>6</p> <p>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?</p> <p>Klar gibt es noch manchmal Strungen, aber wir werden immer besser darin, die Releases strungsfrei hinzubekommen. Mut, Ausdauer und schrittweises Vorgehen helfen uns hier...</p> <p>7</p> <p>Performancematters</p> <p>Innovation bei Vollbetrieb</p> <p>Zunchst kurz zum Vollbetrieb, wer sind wir und was bedeutet Vollbetrieb bei XING. Danach die Innovation...</p> <p>7</p> <p>8</p> <p>Was war unsere erste technische Erfahrung?</p> <p>Was war ihre erste technische Erfahrung?... Das erste elektrische Gert, das wie als Mensch bedienten? </p> <p>8</p> <p>9</p> <p>Performancematters</p> <p>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.</p> <p>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.</p> <p>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)</p> <p>9</p> <p>10</p> <p>Supercomputer Brain</p> <p>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...</p> <p>Reaktionszeit von der Wahrnehmung bis zur Reaktion: 0,3-0,5 Sekunden</p> <p>Wir erwarten auch von unserem Gegenber eine hnlich schnelle Reaktion. Beispiel Mondmartin... Echo...</p> <p>Fazit: Der Mensch ist darauf ausgelegt und trainiert, extrem schnell auf Basis komplexer Sinneseindrcke Entscheidungen zu treffen und Reaktionen auszulsen. </p> <p>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...</p> <p>Wir mchten unsere Benutzer nicht diesem Stress aussetzen...</p> <p>http://www2.sfs.nphil.uni-tuebingen.de/~hertrich/pub/w04/Sitzungen/02_Nov_04.pdfhttp://www.doktor-noll.de/spiele/reaktionstest.htm</p> <p>10</p> <p>11</p> <p>Studien belegen:</p> <p>wer langsam ist, wird verlassen</p> <p> http://radar.oreilly.com/2009/06/bing-and-google-agree-slow-pag.html</p> <p>Google &amp; 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!</p> <p>11</p> <p>matters!</p> <p>Speed</p> <p>12</p> <p>13</p> <p>Der Wasserfall Graph, was tun</p> <p>Wasserfall Graph</p> <p>Der Wasserfall Graph,Zeigt, wie die Assets einer Web-Page nacheinander geladen werden. Hier zeige ich einen typischen Ladevorgang bei XING.</p> <p>13</p> <p>14</p> <p>Der Wasserfall Graph, was tun</p> <p>Die Zeitverzgerung durch Server...Im Rechenzentrum ist meist gering im Vergleich zur Gesamtzeit.</p> <p>14</p> <p>15</p> <p>Der Wasserfall Graph, was tun</p> <p>Die Auslieferungszeit...Ist bei den meisten Websites viel zu hoch ebenso wie die Anzahl der nachgeladenen Assets.</p> <p>15</p> <p>16</p> <p>Google macht es vor......extrem wenige Requests, die auch noch sehr schnell geliefert werden</p> <p>16</p> <p>17</p> <p>FrameOf Mind</p> <p>Forschergeist, Ausdauer und Motivation......zhlen zu den Eigenschaften, die fr Performance notwendig sind.</p> <p>17</p> <p>18</p> <p>Manche Dinge...</p> <p>18</p> <p>19</p> <p>Some things are obvious</p> <p> springen einem sofort ins Auge...</p> <p>19</p> <p>20</p> <p>Andere...</p> <p>20</p> <p>21</p> <p>othersare hidden in plain sight</p> <p> sind versteckt...</p> <p>21</p> <p>22</p> <p>... man entdeckt sie!</p> <p>22</p> <p>23</p> <p>keep on(re)searching!</p> <p>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.</p> <p>23</p> <p>24</p> <p>...und verliert sie wieder aus den Augen...</p> <p>24</p> <p>3 Dinge,die uns schneller machen</p> <p>Ich mchte im folgenden ber drei ausgewhlte Dinge aus unserem Manahmenkatalog zur Performance-Optimierung sprechen. Operations Monitoring Asset-Prefatching cache-flushing</p> <p>25</p> <p>26</p> <p>OperationsMonitoring</p> <p>26</p> <p>27</p> <p>1. Operations Monitoring</p> <p>Kilobytes per pageview</p> <p>Operations Monitoring:Oder: wie starte ich Performance Bewusstsein im eigenen Umfeld. Operations Monitoring </p> <p>27</p> <p>Messen, was der Benutzer erlebt...</p> <p>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. </p> <p>28</p> <p>29</p> <p>Beispiel: http-preloading verbessert die Performance</p> <p>29</p> <p>30</p> <p>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.</p> <p>30</p> <p>31</p> <p>Beispiel: Zeitmessung am Client macht Teilausflle sichtbar...Wer merkt, dass wir eine Strung haben als erstes? Unsere Benutzer...</p> <p>31</p> <p>32</p> <p>Open social Server failure... </p> <p>Beispiel: Zeitmessung am Client macht Teilausflle sichtbar...Wer merkt, dass wir eine Strung haben als erstes? Unsere Benutzer...</p> <p>32</p> <p>33</p> <p>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.</p> <p>33</p> <p>34</p> <p>PreloadingAssets</p> <p>Think about a typical client server communication...</p> <p>34</p> <p>35</p> <p>Bla, bla, bla,bla, bla</p> <p>I feel like Ive heard all this before</p> <p>Caching am Browser wird von allen Sites immer strker forciert. D.h., es beginnt ein Verdrngungswettbewerb um die Caches der Kunden. Trotz hchsten Einsatzes gelingt es beispielsweise Yahoo nicht, wesentlich hhere Caching-Raten als 60% zu erlangen [http://ajaxian.com/archives/browser-cache-usage-only-40-60]. Besonders in der IE-Familie ist es um den Cache allerdings schon schlecht bestellt...</p> <p>Ref: Save Some Cash: Optimize Your Browser CacheAbout the AuthorWayne SheaWayne is a software engineer at Yahoo! in San Francisco, USA. He has experience with mobile internet technologies, user interface design, computer graphics, imaging, embedded telecommunications, large-scale software and hardware development.View all articles by Wayne Shea...By: Wayne SheaDecember 18th, 2008</p> <p>35</p> <p>36</p> <p>Image caching rate by browsers...</p> <p>36</p> <p>ca. Sekunde Performance-Boost</p> <p>2009-10-15</p> <p>37</p> <p>38</p> <p>Noch Ergebnisse einzeichnen..</p> <p>38</p> <p>39</p> <p>InViewport?</p> <p>http://blog.xing.com/2009/07/i-only-believe-what-i-see-50-less-traffic/</p> <p>39</p> <p>40</p> <p>2. Asset Preloading</p> <p>https://www.xing.com/</p> <p> scrollen</p> <p>... Nach unten scrollen</p> <p>40</p> <p>41</p> <p>41</p> <p>42</p> <p>42</p> <p>43</p> <p>43</p> <p>44</p> <p>44</p> <p>45</p> <p>Beispiel: Performanceverbesserung durch in viewport Nutzung fr OSO-Gadgets... Effekt am Browser zeigen...</p> <p>45</p> <p>46</p> <p>- 50% !!!</p> <p>Beispiel: Performanceverbesserung durch in viewport Nutzung fr OSO-Gadgets... Effekt am Browser zeigen...</p> <p>46</p> <p>47</p> <p>XING TECH BLOG:http://blog.xing.com/2009/07/i-only-believe-what-i-see-50-less-traffic/</p> <p>47</p> <p>Nach 1,5 Jahren </p> <p>Gute Performance braucht andauernde Arbeit!Es gibt noch viel zu verbessernEs ist viel Arbeit, den Status Quo zu wahrenDie Performance-Leidenschaft im Team wird immer grer</p> <p>48</p> <p>Wohin wirnoch wollen</p> <p>Asset domainsPage-flushingMore awareness, more awareness, more awareness,...</p> <p>49</p> <p>Wir stellen ein! de-jobs@xing.com</p> <p>50</p> <p>- Entwickler (perl, Frontent, Rails, SOLAR)- QA-Experten- Produkt ManagerProjekt Manager</p> <p>Nette, authentische, begeisterte Menschen, die auf dem Weg zum Expertentum sind.</p> <p>51</p> <p>01</p> <p> Thank you for your attention!</p> <p>Vielen Dankfr Ihre Aufmerksamkeit</p> <p>Dr. Johannes Mainusch Vice President Operations</p> <p>51</p> <p>XING Powering Relationships</p> <p>52</p> <p>DISCLAIMERThis presentation was produced in November 2009 by XING AG (the "Company") solely for use as an information source for potential business partners and is strictly confidential. It has been made available to you solely for your own information and may not be copied, distributed or otherwise made available to any other person by any recipient. This presentation is not an offer for sale of securities in the United States. The distribution of this presentation to you does not constitute an offer or invitation to subscribe for, or purchase, any shares of the XING AG and neither this presentation nor anything contained herein shall form the basis of, or be relied on in connection with, any offer or commitment whatsoever.The facts and information contained herein are as up-to-date as is reasonably possible and are subject to revision in the future. Neither the Company nor any of its subsidiaries, any directors, officers, employees, advisors nor any other person makes any representation or warranty, express or implied as to, and no reliance should be placed on, the accuracy or completeness of the information contained in this presentation. Neither the Company nor any of its subsidiaries, any directors, officers, employees, advisors or any other person shall have any liability whatsoever for any loss arising, directly or indirectly, from any use of this presentation. The same applies to information contained in other material made available at the presentation.While all reasonable care has been taken to ensure the facts stated herein are accurate and that the opinions contained herein are fair and reasonable, this document is selective in nature and is intended to provide an introduction to, and overview of, the business of the Company. Where any information and statistics are quoted from any external source, such information or statistics should not be interpreted as having been adopted or endorsed by the Company as being accurate.This presentation contains forward-looking statements relating to the business, financial performance and results of the Company and/or the industry in which the Company operates. These statements are generally identified by words such as "believes," "expects," "predicts," "intends," "projects," "plans," "estimates," "aims," "foresees," "anticipates," "targets," and similar expressions. The forward-looking statements, including but not limited to assumptions, opinions and views of the Company or information from third party sources, contained in this presentation are based on current plans, estimates, assumptions and projections and involve uncertainties and risks. Various factors could cause actual future results, performance or events to differ materially from those described in these statements. The Company does not represent or guarantee that the assumptions underlying such forward-looking statements are free from errors nor do they accept any responsibility for the future accuracy of the opinions expressed in this presentation. No obligation is assumed to update any forward-looking statements. </p> <p>52</p> <p>52</p>