Google SPDY - Hat jemand es auf Apache benutzt?


17

Sie fragen sich nur, ob jemand Erfahrung mit Google SPDY für Apache hat? http://code.google.com/p/mod-spdy/

Ich betreibe einige Webserver und bin gespannt, ob Probleme mit dem Apache-Modul mod_spdy aufgetreten sind und ob jemand eine sichtbare Geschwindigkeitssteigerung bei SPDY-unterstützten Browsern festgestellt hat.


Es gibt viele von SPDY unterstützte Protokolle wie Python, Java, node.js usw. dev.chromium.org/spdy Da ich einen Apache-Webserver verwende, liegt der Schwerpunkt auf mod_spdy.
Luke McCallum

3
@ Luke - das sind keine Protokolle.
Symcbean

Danke für die Klarstellung @symcbean. Ihre Eingabe wird geschätzt.
Luke McCallum

Antworten:


16

Ich bin einer der Entwickler von mod_spdy. Zu diesem Zeitpunkt ist das Modul einigermaßen stabil und vollständig SPDY / 2-konform (ein früheres Poster behauptete fälschlicherweise, dass es kein Multiplexing unterstützt. Das ist falsch). Das heißt, es ist nicht so stabil wie die Apache-Kernmodule wie mod_ssl. Ich halte es für ein "Beta" -Modul, das für Umgebungen geeignet ist, in denen Sie einige Probleme tolerieren können. Derzeit verwenden Websites mod_spdy erfolgreich.

Wir arbeiten aktiv daran, das Modul vollständig produktionsbereit zu machen und planen, DEB / RPM-Pakete (zusätzlich zur Unterstützung von Build-from-Source) innerhalb weniger Monate freizugeben.

Wir werden die Verfügbarkeit von Paketen und anderen Updates in unserem Diskussionsforum bekannt geben: https://groups.google.com/group/mod-spdy-discuss Treten Sie der Gruppe bei, wenn Sie über Neuigkeiten zu mod_spdy auf dem Laufenden bleiben möchten. Vielen Dank!

PS: Steve erwähnt "Zum Beispiel ist die Implementierung des SPDY-Protokolls nur eine externe SVN-Referenz, die einen Teil des Chromium C ++ -Quellbaums einbezieht." und ich möchte klarstellen, dass dies absolut das Richtige für mod_spdy oder jede andere SPDY-kompatible C ++ - Komponente ist. SPDY ändert sich immer noch schnell, sodass wir durch die Nutzung der SPDY-Codierungs- / Decodierungslogik von Chromium synchron und auf dem neuesten Stand bleiben können, wenn sich das SPDY-Protokoll ändert. IMO wäre es ein Fehler, es anders zu machen.

RE: SSL Sie zahlen eine kleine Strafe für SSL, ja, aber für alle außer den einfachsten Webseiten machen die Leistungsvorteile von SPDY den SSL-Aufwand wett und geben Ihren Benutzern auch eine sichere Verbindung.


Hallo Bryan, Danke für deine Antwort. Ich habe mich sehr darauf gefreut, SPDY auf unseren Apache-Servern testen zu können, und kann es kaum erwarten, dass die vollständige Version produktionsbereit ist. Ich hoffe, du machst ein großes Lied und tanzt daraus, wenn es veröffentlicht wird. Prost!
Luke McCallum

Hallo Bryan, ich habe die C ++ - Aussage auf diesen Kommentar gestützt, den Sie 2010 abgegeben haben: goo.gl/QqkPA . Ist es nicht länger so, dass Sie beabsichtigen, mod_spdy in den Apache-Mainline zu integrieren? Re. Performance; Haben Sie Benchmarks, die die Leistungsverbesserungen mit mod_spdy zeigen?
Steve Smith

Steve, du kennst meine Geschichte besser als ich. :) Sie haben Recht, auf der Grundlage meiner Aussage eine solche Schlussfolgerung zu ziehen. Die Dinge haben sich seitdem geändert. In den frühen Tagen haben wir darüber nachgedacht, ob wir mod_spdy als Modul implementieren sollten, das zur Apache HTTPD-Codebasis hinzugefügt werden könnte. Seitdem sind 2.2-Releases abgelaufen, und wir konzentrieren uns darauf, ein eigenständiges C ++ - Modul für 2.2 zu erstellen. Es kann sinnvoll sein, SPDY-Unterstützung in Apache Trunk 2.4 und zukünftigen Versionen hinzuzufügen, dies steht jedoch derzeit nicht auf unserer Roadmap.
Bryan McQuade

3

Ich habe mit mod_spdy auf meiner persönlichen Seite rumgespielt, nur aus Neugier. Der Apache mod_spdy sollte als Pre-Alpha betrachtet werden. Es handelt sich im Grunde genommen um eine Spitzenimplementierung, die bei weitem nicht die Produktionsqualität erreicht. Beispielsweise ist die Implementierung des SPDY-Protokolls nur eine externe svn-Referenz, die einen Teil des Chromium C ++ - Quellbaums abruft. Derzeit können einige wichtige Funktionen von SPDY, wie z. B. Multiplexing, nicht implementiert werden. Infolgedessen habe ich negative Leistungssteigerungen festgestellt (die größtenteils auf die Notwendigkeit zurückzuführen sind, SSL zu erzwingen und FCGI zu verwenden).

Mir ist nicht klar, dass Apache sowieso der richtige Ort ist, um SPDY einzusetzen. Apache ist heutzutage eher ein Anwendungscontainer. Die Caching-Schicht (Nginx oder Varnish) scheint angemessener zu sein.

Das alles sagte ...

Das mod_spdy-Wiki enthält einige Anweisungen zum Erstellen gegen Debian, aber ich empfehle ihre Methode nicht, da sie das installierte System modifiziert. Stattdessen würde ich empfehlen, eine neue Apache / SSL-Installation unter / opt zu erstellen und von dort aus auszuführen. Dies gibt Ihnen eine einfache Rollback-Option. Die groben Schritte dazu sind:

  • Patch OpenSSL mit der NPN-Implementierung und Installation
  • Erstellen Sie Apache gegen diese SSL-Implementierung und aktivieren Sie die Hybrid-Engine und alle benötigten Mods
  • Wenn Sie PHP benötigen, müssen Sie mod_fcgid gegen Apache erstellen
  • Portieren Sie Ihre vorhandene Site-Konfiguration auf diese neue Apache-Installation und testen Sie sie
  • Erstellen und installieren Sie mod_spdy. hierfür sind die depot_tools von Google erforderlich
  • Konfigurieren Sie die Nicht-SSL-Site so, dass sie einen "Alternate-Protocol" -Header pusht (mit mod_headers).
  • Deaktivieren Sie Ihre vorhandenen Apache- und Setup-Init-Skripte für die SPDY-Version
  • Beobachten Sie keine Leistungsverbesserung und eine möglicherweise instabile Site :)

Danke @ Steve-Smith! Das ist genau die Antwort, nach der ich gesucht habe.
Luke McCallum

@ Steve-Smith Wurde Spdy aktualisiert, seit Sie Ihre Meinung dazu abgegeben haben? Weil Ihr Kommentar mich mit der Idee unwohl macht, Spdy in der Produktionsumgebung zu testen.
Tristan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.