NetVision-Technik

NetVision-Technik (http://www.netvision-technik.de/forum/index.php)
-   Webserver (http://www.netvision-technik.de/forum/forumdisplay.php?f=9)
-   -   Website Boost mit HTTP/1.1 (aka SPDY) (http://www.netvision-technik.de/forum/showthread.php?t=7055)

bl0bb 19.03.2013 21:53

Website Boost mit HTTP/1.1 (aka SPDY)
 
Bisher ist SPDY eher wenig verbreitet.
In der deutschen und internationalen Trackerlandschaft habe ich es erst bei 2 deutschen Trackern gesehen.
Auch andere Webseiten unterstützen es bisher fast gar nicht.

Dies finde ich eigentlich recht schade, daher möchte ich darüber ein paar Worte verlieren.

Also einfach mal lesen und testen, eure User wird es freuen ;)


Was ist SPDY?

SPDY ist ein von Google entwickeltes TCP basiertes Netzwerkprotokoll, welches das bisherige HTTP/1.0 erweitert.
Durch das Multiplexen bei der Datenübertragung, können beliebig viele Dokumente über eine einzelne TCP Verbindung parallel übertragen werden.
Damit wird der Seitenaufbau rasant beschleunigt (+100% und mehr). Nice :)

OK, wer Multiplexen nicht versteht:
Nehmt einfach eine Seite die viele Bilder enthält (z.B. die browse.php mit den ganzen Kategorie-Icons, falls diese nicht gerade in einem Sprite stecken). Es werden alle Bilder gleichzeitig heruntergeladen, anstatt wie bei HTTP/1.0 Stück für Stück.
Dies gilt natürlich auch für .js oder .css Dateien.

Der Download aller angeforderten Ressourcen erfolgt gleichzeitig. Das spart natürlich die ganzen Locks während des Aufbaus, was sich wirklich bemerkbar macht.


Wie sieht es mit der Unterstützung aus?

Alle modernen Browser unterstützen SPDY.
Falls nicht ist es auch nicht so schlimm. Kommt ein Browser nicht mit HTTP/1.1 klar, erfolgt ein Fallback auf HTTP/1.0 und der User kann wie gewohnt weiter auf der Seite surfen.

SPDY funktioniert nur mit einer SSL Verbindung!


Wie stelle ich SPDY zur Verfügung?

Dafür muss man natürlich etwas tun, aber der Aufwand hält sich in Grenzen.

[Befehle für Debian Squeeze]


SPDY benötigt OpenSSL 1.0.1+
Daher einfach die aktuellste Stable kompilieren: OpenSSL Sources

Code:

wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar -xzf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config --prefix=/usr zlib-dynamic --openssldir=/etc/ssl shared
make
make test
make install


Beispiel nginx

Eine aktuelle Installationsanleitung findet man hier. Diese ändert sich auch mit jeder neuen nginx Version (Patch Parameter, ./configure options).
Das SPDY Update erfolgt zeitnah zum neuen nginx Release.

Code:

wget http://nginx.org/download/nginx-1.3.14.tar.gz #nginx source laden
tar -xzf nginx-1.3.14.tar.gz #entpacken
cd nginx-1.3.14 #ins nginx Verzeichnis wechseln
wget http://nginx.org/patches/spdy/patch.spdy.txt #spdy patch laden
patch -p1 < patch.spdy.txt #patchen
./configure --with-http_ssl_module --with-http_spdy_module #nginx konfigurieren
make && make install #nginx kompilieren und installieren

Natürlich kann das ./configure auch noch andere options enthalten. Wichtig ist nur das --with-http_ssl_module und --with-http_spdy_module ergänzt werden.

Ist nginx installiert muss der server Block erweitert werden:

Code:

server {
listen 443 ssl spdy;
...
}


Und schon ist SPDY für diesen Server aktiviert.

Optionale Konfigurationsmöglichkeiten für den http/server Block stehen hier (weiter unten). Die Defaultwerte sind allerdings völlig ausreichend.


alle SPDY Patches


Beispiel Apache

Code:

cd /tmp #ins tmp Verzeichnis wechseln
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_amd64.deb #mod_spdy für 64bit laden
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.deb #mod_spdy für 32bit laden
apt-get install apache2 #Apache installieren
a2enmod ssl #SSL aktivieren
dpkg -i mod-spdy-*.deb
apt-get -f install #mod_spdy installieren
/etc/init.d/apache2 restart #Apache Restart

Die SPDY Config findet man in /etc/apache2/mods-available/spdy.conf, aber auch hier sind die Default Werte völlig ausreichend.

Fertig.


mod_spdy Binaries
mod_spdy Konfiguration


Und funktioniert es?

Einfach einen SPDY-fähigen Browser nehmen:
  • Chrome - Addon "SPDY indicator"
  • Firefox - Addon "SPDY indicator"
  • Opera - Addon "SPDY indicator"


Also testet es ruhig mal aus ;)


Viel Spaß

Thunder™ 19.03.2013 21:59

klingt Interessant..

bl0bb 19.03.2013 22:02

Ist es auch, sonst hätte ich es nicht erwähnt ;)

Habe die Entwicklung kurz nach Anfang selber aus den Augen verloren und es auch vergessen. Bin vor ein paar Monaten wieder drüber gestolpert, und da jetzt der Browsersuppert bei etwa 50% liegt, lohnt es sich wirklich drüber nachzudenken (bzw. meine Seiten laufen alle mit SPDY *gg*).

Thunder™ 19.03.2013 22:06

Ich hab ehrlich gesagt so schon genug um die Ohren aber ich will mir das gerne mal auf´s Auge drücken..

Für solche Sachen bin ich immer gerne zu haben...;)

bl0bb 19.03.2013 22:11

Naja, wenn man seinen Webserver eh selber unter Kontrolle hat und auch regelmäßig wartet, beträgt der zusätzliche Aufwand ~1 Minute ;)

Thunder™ 19.03.2013 22:15

Ich kann mir gerade nicht wirklich vorstellen um wie viel eine Webseite schneller werden soll..

Es rennt ja schon ziemlich Hammer mit Proxy und so..und das ganze dann noch schneller...:D..klingt fast zu verlockend^^

bl0bb 19.03.2013 22:30

https://ist-spdy-aktiviert.de/ und dann auf "Härtetest"

Zero111 19.03.2013 23:57

wenn ich das ganze richtig gelesen haben muss man nginx neukompilieren.. oder gibt es eine möglichkeit das ganze nachträglich aufzurüsten?

Thunder™ 20.03.2013 00:21

ich glaube um neu kompilieren wird man nicht herum kommen....ich lass mich aber gerne eines besseren belehren wenn jemand nen tipp hat..

bl0bb 20.03.2013 05:41

Muss neu kompiliert werden, da ja einige Sourcedateien durch den Patch verändert werden.

ike 20.03.2013 09:08

Zitat:

Zitat von bl0bb (Beitrag 78988)
https://ist-spdy-aktiviert.de/ und dann auf "Härtetest"

In Firefox (19.0.2) ist der Test bei mir mit SPDY zu 90% um 0.2 bis 0.5 Sekunden langsamer als ohne.

In Chrome hingegen ist es genau andersrum.

Hier mal die deutlichsten Ergebnisse.


Firefox:

http://info-panel.net//test/upload/5...592firefox.png

Chrome:

http://info-panel.net//test/upload/8482955205chrome.png

Flori12345 20.03.2013 09:33

ich hab ff20 da is es genauso

bl0bb 20.03.2013 09:48

Liste der Anh?nge anzeigen (Anzahl: 1)
Naja Leute, das liegt nicht am FF (siehe meinen Anhang, ebenfalls FF 19.0.2).

Die oben gesehenen Diskrepanzen können verschiedene Ursachen (Client und Serverseitig) haben. Ich tippe mal darauf, dass der Server zu dem Zeitpunkt gelaggt hat, oder es sonstige bottleneck Effekte gab.

SPDY ist jedenfalls schneller als TLS HTTP/1.0, und sollte in etwa gleich sein mit HTTP/1.0. Und da SPDY nur mit einer TLS Verbindung funktioniert... ;)

Aber auch mit SPDY muss man an der Serverkonfig drehen, um ein optimales Ergebnis zu erzielen. Auch wenn es ohne Optimierung schon eine Verbesserung gibt.

ike 20.03.2013 11:01

Das kann schon sein. Ich werds heut abend mal mit nginx ausprobieren, wenn das wirklich so funktioniert wie es sich anhört wäre es super. Dann gehören lästige Image-Sprites hoffentlich bald der Vergangenheit an.

Zero111 31.03.2013 04:16

nginx 1.3.15 supportet spdy von haus aus :) funzt super

Feudas 31.03.2013 18:08

Irgendwie ist das zeug doch bescheuert oder?
Was bringt den sowas wenn es derart unzuverlässig daher kommt?

meine Ergebnisse, alle auf dem selben System gemacht Win7 64 mit 50k Anbindung über telekom:

FF: ohne SPDY: 1.103s mit SPDY: 0.315s
IE: ohne SPDY: 1.103s mit SPDY: nicht unterstüzt
OP: ohne SPDY: 0.047s mit SPDY: 0.104s
CN: ohne SPDY: 1.519s mit SPDY: 0.426s

OP = Opera und CN = CoolNovo ehemals ChromePlus

Das Opera mein Lieblingsbrowser ist scheint sich also auszuzahlen ;)

hawk 31.03.2013 19:50

supi sache das mitm spdy , also ich bemerke egal in welchem browser den Unterschied :D

MFG Hawk

BonkeR 02.04.2013 16:02

Windows 'Blue' & IE11 wohl mit SPDY-Unterstützung
 
Vor gut zwei Wochen ist die erste lauffähige Version von Windows "Blue" (Codename) ins Netz gelangt, seither entdecken Nutzer immer neue Informationen zum bisher geheimnisvollen Feature-Update. Nun kommt eine weitere Entdeckung dazu.

Und zwar hat der bekannte Windows-Blogger 'Rafael Rivera' herausgefunden, dass Windows "Blue" sowie Internetexplorer 11 das SPDY-Protokoll unterstützen werden. Bei SPDY (vom englischen "speedy", also "flott"; wird auch so ausgesprochen) handelt es sich um ein noch experimentelles auf TCP basierendes Protokoll, das höhere Geschwindigkeiten der Datenübertragung bietet, dabei aber bestehende Netz-Infrastruktur verwendet.

Allzu viele Details nennen Rivera und Paul Thurrott, die gemeinsam (und parallel) derzeit eine Artikel-Serie zu Windows "Blue" durchführen, zwar nicht, doch auch der Microsoft-Experte Thurrott schreibt auf seiner 'Winsupersite', dass er SPDY-Unterstützung "bestätigen" könne.

Rivera schreibt, dass er zu SPDY nicht viel sagen könne (dürfe?) und die Funktionsweise im Internet Explorer 11 auch nicht demonstrieren könne. Allerdings sei SPDY laut Rivera "auf Betriebssystem-Ebene" über Zusätze zur Windows-Internet-API implementiert worden. Das bedeutet, dass dies nicht nur beim IE11 funktionieren wird, sondern bei allen Windows-8-"Blue"-Apps, die eine Internet-Verbindung benötigen.


In diesem Zusammenhang sollte erwähnt werden, dass SPDY von Konkurrent Google entwickelt worden ist bzw. wird, zuletzt haben die Spannungen zwischen Redmond und Mountain View zugenommen, wobei von Harmonie zwischen Microsoft und Google ohnehin noch nie die Rede sein konnte.

SPDY, das derzeit für den Standardisierungs- bzw. Zertifizierungsprozess vorbereitet wird, soll minimale Latenz ermöglichen und die Ladezeiten von Webseiten um bis zu 64 Prozent verringern. Weitere Details dazu sind auf der Seite der 'Chromium Projects' zu finden.

Originalbeitrag und Bilderstrecke hier : Windows 'Blue' & IE11 wohl mit SPDY-Unterstützung - WinFuture.de

Thunder™ 02.04.2013 18:03

so viel heiße Luft und Gerüchte Küche für ein paar lächerliche Millisekunden.. xD

ike 03.04.2013 05:23

Zitat:

Zitat von Thunder™ (Beitrag 79180)
so viel heiße Luft und Gerüchte Küche für ein paar lächerliche Millisekunden.. xD

Wenn ich dafür auf Sprites verzichten kann ist das schon ein großer Vorteil wie ich finde...


Hier gibts ein Indicator für Firefox: SPDY indicator :: Add-ons für Firefox

Ich habs gestern mal installiert, zusammen mit Nginx 1.3.14. In Firefox und Chrome funktioniert alles wie es soll doch in Opera in Version 12.14 macht jedoch macken. So funktionieren JQuerys POST Befehle aus mir unerklärlichen Gründen nicht (gleiche TLD, JQuerys error Funktion gibt leern String aus, Fehlerconsole bleibt leer), GET funktioniert hingegen problemlos.

Trotzdem merkt man gerade bei vielen kleinen Bildern einen deutlichen Geschwindigkeitszuwachs, jedoch auch nur beim ersten Aufruf. Liegen die Daten ersteinmal im Cache des Browsers gibt es fast keinen spürbaren Unterschied mehr.

bl0bb 03.04.2013 07:44

^^ Das liegt dann sicherlich nicht an SPDY, sondern an unzureichendem Code. Lass dir einfach mal die headers ausgegeben.

Und SPDY ist nicht nur auf Bilder beschränkt, sondern umfasst alle Ressourcen und Calls ;)
Weiterhin sollte man bedenken, dass nicht alle User einen aktiven Cache haben, nutzen können (z.B. Proxy), oder man Caching unterstützen möchte. Daher ist SPDY nicht nur auf den ersten Request beschränkt.

@Thunder
Millisekunden erreicht man mit Codeoptimierung, der Einsatz von SPDY bringt schon etwas mehr :P

ike 03.04.2013 08:50

Zitat:

Zitat von bl0bb (Beitrag 79184)
^^ Das liegt dann sicherlich nicht an SPDY, sondern an unzureichendem Code.

Klar, dann erkläre mir mal warum es funktioniert sobald ich SPDY abschalte :rolleyes:

Im übrigen wäre es nicht der erste Fehler den SPDY im zusammenhang mit Opera erzeugt, erst mit Opera 12.11 wurden "mehrere Probleme" behoben.

Zitat:

Zitat von ZDNet
Opera hat ein erstes Update für Version 12.10 seines Desktop-Browsers veröffentlicht, das unter anderem mehrere Probleme mit Googles neu implementiertem Netzwerkprotokoll SPDY behebt

Quelle: Opera 12.11 beseitigt Fehler im Zusammenhang mit SPDY-Support | ZDNet.de

Thunder™ 03.04.2013 13:43

Ich kann bei mir nicht gerade extreme Verbesserungen verbuchen..

Es ist schon etwas besser als vorher, keine frage aber der WOW Effekt ist ausgeblieben..

vielleicht liegt es an den Proxys..

bl0bb 03.04.2013 19:21

Na ike - hast du aber nicht erwähnt, dass es ohne SPDY geht ;)
Für mangelnde Umsetzung seitens des Browsers, kann ja keiner was. Aber das betrifft ja alle Bereiche.

Feudas 03.04.2013 19:36

Also erlich ich sehe da keinen echten nutzen drin.
Der normal sterbliche user surft auf verschiedensten seiten rum, die meisten geschwindigkeitseinbrüche werden vom server den man besucht erzeugt.
Die gründe sind da wie wir wissen ja vielschichtig.
Ich bekomme die daten eigentlich grundsätzlich so schnell der server sie mir geben will.
Und habe auch irgendwie nicht das gefühl das ich jetzt unbedingt noch nen anderes Protokol brauche um es noch schneller zu machen.
Noch schneller kann ich die daten garnict mehr verarbeiten die ich da gezeigt bekomme.
Serverseitig sehe da sganze schon anders aus. wen eine sql abfrage 1,0 oder 0,01 msec braucht ist das für mich als server betreiber sogar sehr wichtig, wie lang der user braucht um die daten in seinem browser an zu zeigen hingegen juckt mich da garnich ;D

ike 09.04.2013 10:30

Nginx in Version 1.3.15 liefert das SPDY Modul nun mit:

2013-03-26nginx-1.3.15 development version has been released, featuring experimental SPDY module.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr.

Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.