Website Performance Optimierung



Ähnliche Dokumente
Bilder zum Upload verkleinern

Webalizer HOWTO. Stand:

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Popup Blocker/Sicherheitseinstellungen

12.3 Mit ein wenig HTML erstellen Sie eine fast dynamische Datenquelle

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Password Depot für ios

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Java Script für die Nutzung unseres Online-Bestellsystems

Schulung Marketing Engine Thema : Einrichtung der App

Adminer: Installationsanleitung

> Mozilla Firefox 3.5

Anleitung BFV-Widget-Generator

Website freiburg-bahai.de

Web-Performance-Optimierung - Websites auf Speed SEO Barbecue - DIWISH - Kiel August Timo Heinrich t.heinrich@online-werbung.

Anleitung für die Formularbearbeitung

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

INSTALLATION VON INSTANTRAILS 1.7

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet?

Ihr CMS für die eigene Facebook Page - 1

FRONT CRAFT.

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Kleines Handbuch zur Fotogalerie der Pixel AG

Vitaminkapseln.ch - SEO Check

ZID Hotline

Gezielt über Folien hinweg springen

Live Update (Auto Update)

Reporting Services und SharePoint 2010 Teil 1

White Paper DocCheck Search

Zeiterfassung mit Aeonos. Bedienungsanleitung für die App

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense

Kurzeinstieg in VR-Ident personal

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Online-Publishing mit HTML und CSS für Einsteigerinnen

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

Wie optimiert man die Werbungserkennung von Ad- Detective?

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

8. Workshop - Internetarchivierung

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

1 Schritt für Schritt zu einem neuen Beitrag

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Alltag mit dem Android Smartphone

Die Dateiablage Der Weg zur Dateiablage

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Internet online Update (Mozilla Firefox)

BEDIENUNGSANLEITUNG: EINREICH-TOOL

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Anleitung über den Umgang mit Schildern

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

ltlasten in der Registrierdatenbank löschen

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

Barrierefreie Webseiten erstellen mit TYPO3

Warum Sie jetzt kein Onlinemarketing brauchen! Ab wann ist Onlinemarketing. So finden Sie heraus, wann Ihre Website bereit ist optimiert zu werden

Migration Howto. Inhaltsverzeichnis

Informationen als Leistung

Datensicherung. Beschreibung der Datensicherung

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Avira Management Console Optimierung für großes Netzwerk. Kurzanleitung

Internet Explorer Version 6

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Facebook Gewinnspiel. Dynamische Facebook-App Quaest-BOX

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Informationen zum neuen Studmail häufige Fragen

PK-Website: Besuche & Seitenaufrufe 2010 und 2011

2.1 Grundlagen: Anmelden am TYPO3-Backend

OutlookExAttachments AddIn

Nutzungsmöglichkeiten der interaktiven Westoverledingen Karte

Anleitung zum Prüfen von WebDAV

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Drägerware.ZMS/FLORIX Hessen

Teiltransparente Bilder

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Leichte-Sprache-Bilder

SEO Erfolg mit themenrelevanten Links

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Zunächst ist dieser Service nur für Mac OS verfügbar. Drucken unter Windows wird Ihnen im Laufe des Semesters zur Verfügung stehen.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Holen Sie das Beste aus Ihrer Kampagne heraus mit unserer Landingpage!

(C)opyright 2009 by Jochen Vajda

Transkript:

Website Performance Optimierung Fokus: Frontendoptimierung form4 GmbH & Co. KG Jan-Henrik Hempel Telefon: 030.278784-13 E-Mail: jan-henrik.hempel@form4.de

Website Performance Optimierung Überblick 1 Relevanz 2 Requestreduktion und Ladeoptimierung 3 Cachingoptimierte Webkonzepte 4 Links 2

Relevanz einer guten Website Performance Eine schnelle Website ist nicht nur eine schöne Sache für den Nutzer, sondern beeinflusst tatsächlich den geschäftlichen Erfolg: Einige Fakten Google nimmt die Ladezeit als Faktor in das Ranking mit auf http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html Erhöhung der Page Impressions pro Visit und der Verweildauer Bessere Ziel-Conversions Amazon verzeichnet Umsatzeinbußen bei Verlangsamung von Requests von wenigen 100 Millisekunden Yahoo! hat weniger Suchanfragen pro User bei Verlangsamung von Requests von wenigen 100 Millisekunden (High Performance Web Sites, Steve Souders, ISBN: 978-0596529307) 3

Website Performance Optimierung Überblick 1 Relevanz 2 Requestreduktion und Ladeoptimierung 3 Cachingoptimierte Webkonzepte 4 Links 4

Requestreduktion durch Script Merging (CSS und JS) Eine naheliegende Möglichkeit Requests zu reduzieren, ist das Zusammenlegen von eingebundenen Dateien insbesondere Stylesheets und Javascript-Dateien. Maßnahme Mergen von CSS Dateien Mergen von Javascript-Dateien Das Mergen kann durch ein automatisiertes Script erfolgen (z.b. Ant-Deploy) Das Mergen kann per Scriptmerger durch das CMS erfolgen Expire Header nicht vergessen Effekt Von z.t. ca. 5 bis 10 CSS Dateien kann i.d.r. eine Reduktion auf 2 oder 3 erfolgen Dadurch werden auch die 4er-Blöcke für die Requests entlastet 5

Requestreduktion durch optimierte HTTP Expire Header Auch wenn eine Datei bereits im Browser Cache (oder Proxy) gespeichert ist, fragt der Browser i.d.r. Den Server, ob die Datei noch aktuell ist. Ist dies nicht der Fall, gibt der Server einen 304 Not modified zurück. Hier erfolgt kein wirklicher Transfer, dennoch entsteht aufgrund der Vielzahl an Dateien auf Websites eine nicht unwesentliche Menge an Requests. Maßnahme Setzen von Expire Headern für statische Dateien (CSS, JS, Grafiken) per.htaccess z.b. Expires Sat, 01 May 2010 19:32:04 GMT Cache-Control max-age=604800 Vorsicht Die Dateien sollten eine Versionsnummer im Dateiname führen, um Updates zu ermöglichen 6

Requestreduktion durch optimierte HTTP Expire Header Insgesamt 47 304 Requests, die lila Balken sind Wartezeiten 7

Requestreduktion durch Sprite Grafiken Viele Dateien in Websites sind Layoutgrafiken für Buttons, Icons, Ecken, Balken usw. Zumeist handelt es sich um kleine Dateien, die zwar keine hohen Dateigrößen haben, aber durch ihre große Anzahl die Requestanzahl aufblähen. Maßnahme Zusammenfassung von Grafiken in Sprite Dateien Links und Tools CSS Sprite Generator http://spritegen.website-performance.org/ 8

Ladeoptimierung durch Script Minifiing (CSS und JS) Textdateien (bei Websites insbesondere CSS- und Javascript-Dateien) haben ein hohes Potential für Komprimierungen. Ein Teils davon kann durch Entfernung von Spaces, Linebreaks etc. ausgenutzt werden. Dadurch können ca. 20 % bis 40 % der Dateigrößen eingespart werden. Relevant ist dies insbesondere, da Styles und Scripte immer auch bei der Einstiegsseite mitgeladen werden müssen, wenn noch kein Cache vorhanden ist. Maßnahme Verkleinerung von Dateien Links und Tools Online Javascript compressor http://javascriptcompressor.com/ CSS Drive CSS Compressor http://www.cssdrive.com/index.php/main/csscompressor/ 9

Ladeoptimierung durch HTTP-Kompression Insbesondere Textdateien (HTML, CSS, Javascript) haben ein hohes Potential für Kompressionen. Zur Optimierung der Transferzeiten kann hierfür eine HTTP-Kompression eingesetzt werden. Maßnahme HTTP-Kompression Accept-Encoding: gzip, deflate 10

Ladeoptimierung durch Verteilung auf Subdomains Regulär lädt ein Browser nur vier Requests parallel von einem Host. Die heutigen Bandbreiten lassen i.d.r aber mehr parallele Downloads zu, ohne dass es Einbußen gibt zumal wenn es sich primär um CSS-, JavaScript- und Bilddateien handelt. Maßnahme Verschiedene Dateien oder Dateitypen können auf Subdomains verteilt werden, z.b. css.domain.com js.domain.com img.domain.com video.domain.com Der ausliefernde Server kann dabei der selbe sein es geht primär um die Erhöhung der parallelen Downloads. 11

Website Performance Optimierung Überblick 1 Relevanz 2 Requestreduktion und Ladeoptimierung 3 Cachingoptimierte Webkonzepte 4 Links 12

Cachingoptimierte Webkonzepte Verwendung statischer und parametrisierter Ansichten Um in allen Ebenen eine hohe Performance und Skalierbarkeit zu erreichen, ist einer der Schüssel möglichst alles daran zu setzen, dass möglichst viele Einzelseiten einer Website statisch sind. Denn dann können verschiedenste Optimierungstools eingesetzt werden: Static File Cache Proxy, CDN Squid Eine oft unterschätzte aber naheliegende Möglichkeit ist die klare Parametrisierung aller Seiten und Varianten, wie z.b.... Sprachvarianten Unterschiedliche Schriftgrößen oder Kontrastansichten Filterfunktionen, Tagnavigationen, Tagcloudansichten und Zielseiten 13

Cachingoptimierte Webkonzepte Berechnungen per Javascript im Frontend Cachingkonzepte werden gerne sehr schnell ausgehebelt, sobald userspezifische Darstellungen im Frontend erfolgen sollen. Typische Punkte sind z.b.: Loginstatus Merkzettel- oder Warenkorblink mit Anzahl der Produkte Lokalisierung nach Land, Bundesland, Postleitzahl o.ä. Solche Informationen können zumeist wunderbar per Javascriptberechnung mit vorgeladenen Daten im Frontend erfolgen und somit zur Serverentlastung führen. 14

Cachingoptimierte Webkonzepte Verwendung von Cookies anstatt Server-Sessions Spezielle Werte oder Attribute von Usern müssen häufig nicht in der Serversession gespeichert werden. Leider erfolgt die Speicherung und die Auswertung von Cookie-Werten allzu oft per PHP. Oft reicht die Speicherung per Javascript im Cookie. Dadurch bleiben Seiten statisch und unabhängig von serverseitigen Berechnungen. 15

Cachingoptimierte Webkonzepte Nachladen per AJAX Einige dynamische Funktionen von Websites sollen auf allen Seiten an zentraler Stelle zu sehen sein. Zumeist bleibt jedoch der größte Teil der Einzelseiten statisch und nur einige nutzen die userindividuellen Einstellungen in der Anzeige des Inhalts. Das Problem dabei ist, dass durch ein einziges userindividuelles Element, sofort alle Einzelseiten nicht mehr statisch sind. Diese Problem kann durch das Nachladen von dynamischen Informationen per AJAX optimiert werden. Dynamische Informationen können per Cookie/Javascript auf alle Seiten statischen Seiten gerendert werden. Dort wo Inhalte dynamisch werden, können die entsprechenden Daten per AJAX nachgeladen werden. Typische Funktionen hierfür sind: Loginstatus Merkzettel Warenkörbe Userspezifische Anzeige von Kontaktdaten oder Ansorechpartnern (z.b. nach Land) 16

Cachingoptimierte Webkonzepte Cookie Auswertung per Rewrite Engine Die Auswertung von Cookie-Werten bei wiederkehrenden Usern wird häufig per serverseitigen Script innerhalb eines CMS realisiert. Allerdings kann eine solche Auswertung auch per Apache Rewrite Engine erfolgen und Redirects auf statische Seiten erzeugen. So schnell ist kein CMS-Rendering. Anwendungen hat diese Funktions typischerweise bei der Auswertung der durch den User zuletzt verwendeten Sprache mit Redirect der Auswertung der durch den User zuletzt verwendeten Schrift- oder Kontrasteinstellung Spezieller Redirects in userspezifisch gespeicherte Themenbereichs o.ä. 17

Javascript vs. Barrierefreiheit Zugänglichkeit der Informationen Viele optimierte Konzepte setzen auf Javascript, um Logik und Berechnungen im Frontend zu realisieren und damit den Server und die Client-Server-Kommunikation zu entlasten. Je nach Zielgruppe einer Website browsen ca. 1 % bis 5 % der User ohne Javascript Barrierefreie Websiten müssen jedoch auch ohne Javascript funktionieren, egal ob es sich nur noch um 1 % der User handelt. Aber es gilt: Primär muss die Information erreichbar sein! Häufig ist das auch ohne die Javascript- Features gegeben. Evtl. fehlt ein Merkzettel oder eine intuitive Google Maps Navigation, aber solange alle Informationen erreichbar sind, ist das nicht so schlimm. Alternativ können Javascript Fallbacks eingebaut werden. Wenn diese dann per serverseitiger Berechnung erfolgen entstehen keine wesentlichen Einbußen. Die Seite wird ggf. in 2 ½ anstatt in 1 Sekunde geladen. Und der Server muss für 1-5 % der User mehr rechnen. 18

Website Performance Optimierung Überblick 1 Relevanz 2 Requestreduktion und Ladeoptimierung 3 Cachingoptimierte Webkonzepte 4 Links 19

Links und Bücher zur Frontend Optimierung Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html High Performance Web Sites Steve Souders ISBN: 978-0596529307 Online Javascript compressor http://javascriptcompressor.com/ CSS Drive CSS Compressor http://www.cssdrive.com/index.php/main/csscompressor/ CSS Sprite Generator http://spritegen.website-performance.org/ 20

Vielen Dank. form4 GmbH & Co. KG Jan-Henrik Hempel Tel.: 030.278784-13 E-Mail: jan-henrik.hempel@form4.de 21