Google SPDY - ¿Alguien lo ha usado en Apache?

17

¿Me pregunto si alguien ha tenido alguna experiencia con Google SPDY en Apache? http://code.google.com/p/mod-spdy/

Ejecuto un par de servidores web y estoy interesado en saber si ha habido algún problema con el módulo mod_spdy Apache y si alguien ha visto un aumento visible de la velocidad en los navegadores compatibles con SPDY.

Luke McCallum
fuente
Hay muchos protocolos compatibles con SPDY sch como Python, Java, node.js, etc. dev.chromium.org/spdy Como estoy ejecutando un servidor web Apache mod_spdy es el foco principal.
Luke McCallum
3
@Luke: esos no son protocolos.
symcbean
Gracias por la aclaración @symcbean. Su aporte es apreciado.
Luke McCallum

Respuestas:

16

Soy uno de los desarrolladores de mod_spdy. En esta etapa, el módulo es razonablemente estable y totalmente compatible con SPDY / 2 (un póster anterior afirmaba incorrectamente que no admite multiplexación. Eso es incorrecto). Dicho esto, no es tan estable como los módulos principales de Apache como mod_ssl. Lo considero un módulo "beta" adecuado para su uso en entornos donde puede tolerar algunos problemas. Actualmente hay sitios web que utilizan mod_spdy con éxito hoy.

Estamos trabajando activamente para que el módulo esté completamente listo para la producción y planeamos lanzar paquetes DEB / RPM (además de admitir la compilación desde la fuente) dentro de unos meses.

Anunciaremos la disponibilidad de paquetes y otras actualizaciones en nuestro foro de discusión: https://groups.google.com/group/mod-spdy-discuss Únase al grupo si desea mantenerse actualizado con las novedades de mod_spdy. ¡Gracias!

PD: Steve menciona "Por ejemplo, su implementación del protocolo SPDY es solo una referencia externa svn que extrae una porción del árbol fuente de Chromium C ++". y quiero aclarar que esto es absolutamente lo correcto para mod_spdy o cualquier otro componente de C ++ compatible con SPDY. SPDY todavía está cambiando rápidamente, por lo que al aprovechar la lógica central de codificación / decodificación SPDY de Chromium podemos mantenernos sincronizados y actualizados a medida que cambia el protocolo SPDY. En mi opinión, sería un error hacerlo de otra manera.

RE: SSL, paga una pequeña penalización por SSL, sí, pero para todas las páginas web, excepto las más simples, los beneficios de rendimiento de SPDY compensarán los gastos generales de SSL y también brindarán a sus usuarios una conexión segura.

Bryan McQuade
fuente
Hola Bryan, gracias por tu respuesta. Tenía muchas ganas de darle una oportunidad a SPDY en nuestros servidores Apache y no puedo esperar al lanzamiento completo de la producción. Espero que hagas una gran canción y la bailes cuando la lances. ¡Salud!
Luke McCallum
Hola Bryan, basé la declaración de C ++ en este comentario que hiciste en 2010: goo.gl/QqkPA . ¿Ya no es el caso que pretendes poner mod_spdy en Apache mainline? re. Actuación; ¿Tiene alguna referencia que muestre las mejoras de rendimiento con mod_spdy?
Steve Smith
Steve, conoces mi historia mejor que yo. :) Tienes razón en sacar una conclusión basada en mi declaración. Sin embargo, las cosas han cambiado desde entonces. En los primeros días, debatimos si intentar o no implementar mod_spdy como un módulo que podría agregarse a la base de código Apache HTTPD. Desde entonces, las versiones 2.2 se han reducido, por lo que nos estamos centrando en crear un módulo C ++ independiente para 2.2. Puede tener sentido intentar obtener soporte SPDY agregado en el tronco de Apache, para 2.4 y versiones futuras, pero no está en nuestra hoja de ruta en este momento.
Bryan McQuade
3

He jugado con mod_spdy en mi sitio personal, por pura curiosidad. Apache mod_spdy debe considerarse pre-alfa; Básicamente se trata de una implementación puntual y no se acerca a la calidad de producción. Por ejemplo, su implementación del protocolo SPDY es solo una referencia externa svn que extrae una porción del árbol fuente Chromium C ++. Actualmente no puede implementar algunas de las características importantes de SPDY, como la multiplexación. En consecuencia, he visto ganancias negativas de rendimiento al usarlo (en gran medida derivado de la necesidad de forzar SSL y usar FCGI).

No está claro para mí que Apache sea el lugar correcto para poner SPDY de todos modos; Apache es más un contenedor de aplicaciones hoy en día; la capa de almacenamiento en caché (Nginx o Barniz) parece más apropiada.

Todo lo dicho ...

El wiki mod_spdy contiene algunas instrucciones para compilar contra Debian, pero no recomiendo su método ya que modifica el sistema instalado. En cambio, recomendaría construir una nueva instalación de Apache / SSL en / opt y ejecutarla desde allí; esto le brinda una opción de reversión fácil. Los pasos aproximados para hacer esto son:

  • Parchear OpenSSL con la implementación NPN e instalar
  • Construya Apache contra esta implementación SSL, habilitando el motor híbrido y cualquier modificación que necesite
  • Si necesita PHP, deberá compilar mod_fcgid contra Apache
  • Transfiera la configuración de su sitio existente a esta nueva instalación y prueba de Apache
  • Compilar e instalar mod_spdy; esto requiere las herramientas de depot_tools de Google
  • Configure el sitio no SSL para insertar un encabezado de "Protocolo alternativo" (con mod_headers)
  • Deshabilite su Apache existente y configure scripts de inicio para la versión SPDY
  • No observe mejoras en el rendimiento y un sitio posiblemente inestable :)
Steve Smith
fuente
Gracias @ Steve Smith! Ese es exactamente el tipo de respuesta que estaba buscando.
Luke McCallum
@ steve-smith ¿Se ha actualizado spdy desde que emitiste tu opinión? Porque su comentario me hace sentir incómodo con la idea de probar spdy en el entorno de producción.
Tristan