At Google, we strive to make the whole web fast. Our work in this area includes Page Speed Online, mod_pagespeed, Page Speed Service, Google Chrome, making TCP faster, and the SPDY protocol, among other efforts. The SPDY (pronounced “SPeeDY”) protocol allows web sites to be transmitted more efficiently to the web browser, resulting in page load time improvements of as much as 55%. To make it easier for web sites to realize the benefits of SPDY, we’re releasing the source code for mod_spdy, an open-source module for the Apache HTTP server.

Getting Started with mod_spdy

mod_spdy is still in early beta, and is not yet recommended for deployment in production environments. If you’d like to test out mod_spdy and help us to make it better, please consult our Getting Started guide. We hope to make it production-ready sometime in early 2012. Stay tuned by subscribing to our discussion forum.

SPDY and Apache

mod_spdy is an Apache 2.2-compatible module that provides SPDY support for Apache HTTP servers. Multiplexing is an important performance feature of SPDY which allows for multiple requests in a single SPDY session to be processed concurrently, and their responses interleaved down the wire. However, due to the serialized nature of the HTTP/1.1 protocol, the Apache HTTP server provides a one-request-per-connection architecture. Apache’s connection and request processing normally happens in a single thread, like so:

This works well for HTTP, but it presents a problem for multiplexed protocols like SPDY because in this flow, each connection can only process one request at a time. Once Apache starts processing a request, control is transferred to the request handler and does not return to the connection handler until the request is complete.

To allow for SPDY multiplexing, mod_spdy separates connection processing and request processing into different threads. The connection thread is responsible for decoding SPDY frames and dispatching new SPDY requests to the mod_spdy request thread pool. Each request thread can process a different HTTP request concurrently. The diagram below shows the high-level architecture.

To learn more about how mod_spdy works within Apache, consult our wiki.

Help to improve mod_spdy

You can help us to make mod_spdy better by doing compatibility and performance testing, by reviewing the code and sending us feedback on the mod_spdy discussion list. We look forward to your contributions and feedback!

ABOUT THE AUTHOR
Matthew Steele photo

Matthew Steele is a software engineer at Google, working on making the web faster. Matthew has worked on Page Speed for Firefox and Chrome, has contributed to mod_pagespeed, and most recently, has led design and development of mod_spdy for Apache.

Bryan McQuade photo

Bryan McQuade (@bryanmcquade) leads the Page Speed team at Google. He has contributed to various projects that make the web faster, including Shared Dictionary Compression over HTTP and optimizing web servers to better utilize HTTP.

31 Responses to “Introducing mod_spdy, a SPDY module for the Apache HTTP server”

  1. Cheatsheet: 2011 12.20 ~ 12.28 - gOODiDEA.NET

    [...] Introducing mod_spdy, a SPDY module for the Apache HTTP server [...]

  2. Lennie

    The Getting Started guide makes it a lot easier to get started with mod_spdy thanks for that.

  3. Google: SPDY Gaining Adoption | WebProNews

    [...] nginx has announced plans to implement SPDY, and we’re actively working on a full featuredmod-spdy for Apache. In addition, Strangeloop, Amazon, and Cotendo have all announced that they’ve been using [...]

  4. Making the web speedier and safer with SPDY | Useful Guide

    [...] has announced skeleton to implement SPDY, and we’re actively operative on a full featured mod-spdy for Apache. In addition, Strangeloop, Amazon, and Cotendo have all announced that they’ve been regulating [...]

  5. Google vuole rendere il Web più veloce | Binary Emotions

    [...] istruito, ma anche Mozilla si è mossa) che il web server (Google, nginx o a breve anche Apache) dovranno dialogare a mezzo del nuovo [...]

  6. Google accelera i tempi col progetto SPDY

    [...] SPDY. E Google ha comunicato proprio oggi di essere al lavoro su una funzionalità completa mod-spdy per Apache.In questo documento Big G ha evidenziato i punti salienti del progetto SPDY, che mira ad aiutare [...]

  7. Google speeds up the Internet | Binary Emotions

    [...] properly instructed, but Mozilla has moved accordingly) and the web server (Google, nginx or Apache) have to communicate through the new [...]

  8. Making the web speedier and safer with SPDY | IT RSS

    [...] nginx has announced plans to implement SPDY, and we’re actively working on a full featured mod-spdy for Apache. In addition, Strangeloop, Amazon, and Cotendo have all announced that they’ve been using [...]

  9. Making the web speedier and safer with SPDY | Internet Marketing Denver | ReachLocal Denver | Social Media Denver

    [...] nginx has announced plans to implement SPDY, and we’re actively working on a full featured mod-spdy for Apache. In addition, Strangeloop, Amazon, and Cotendo have all announced that they’ve been using [...]

  10. Twitter Catches the ‘SPDY’ Train | Streaming Media Hosting

    [...] you’d like to follow Twitter’s lead and get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta release). This entry was posted in Feeds [...]

  11. | Web Design Florida Organization

    [...] you’d like to follow Twitter’s lead and get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta [...]

  12. » Twitter Catches the ‘SPDY’ Train » t3knoDorKs

    [...] you’d like to follow Twitter’s lead and get your possess site portion over SPDY, check out mod_spdy, a SPDY procedure for a Apache server (currently a beta [...]

  13. Twitter Catches the ‘SPDY’ Train | Witty City Blog

    [...] you’d like to follow Twitter’s lead and get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta [...]

  14. Ook Twitter wordt ‘SPeeDY’ | Twittermania

    [...] je net als Twitter je eigen site aan wilt bieden via SPDY, kijk dan eens hier: mod_spdy (beta). Dit is een SPDY module voor een Apache [...]

  15. چگونه با سرعت بیشتری وب‌گردی کنیم؟ | پایگاه فناوری اطلاعات حامد

    [...] این پروتکل را به سایت خود بیافزایید می‌توانید ماژول mod_spdy را بر روی سرور آپاچی خود نصب کنید. البته این ماژول هنوز [...]

  16. وب گردی با سرعت تمام! | آريستا پورتال جامع ايرانيان

    [...] این پروتکل را به سایت خود بیافزایید می‌توانید ماژول mod_spdy را بر روی سرور آپاچی خود نصب کنید. البته این ماژول هنوز [...]

  17. وب گردی با سرعت تمام!

    [...] این پروتکل را به سایت خود بیافزایید می‌توانید ماژول mod_spdy را بر روی سرور آپاچی خود نصب کنید. البته این ماژول هنوز [...]

  18. Royal Pingdom SPDY: Weekend must-read articles from Pingdom

    [...] Introducing mod_spdy, a SPDY module for the Apache HTTP server: mod_spdy is an Apache 2.2-compatible module that provides SPDY support for Apache HTTP servers. [...]

  19. Twitter y su apoyo al protocolo SPDY | aulambra.com

    [...] la adopción global en los servidores, un módulo, todavía en fase de desarrollo, de Apache nos permitirá el activar el soporte de SDPY. Si bien, es demasiado temprano para una adopción [...]

  20. The 27 best web performance links of Q1 2012

    [...] Introducing mod_spdy, a SPDY module for the Apache HTTP server Google engineers Matthew Steele and Bryan McQuade break down how Google’s mod_spdy for Apache works. [...]

  21. چگونه با سرعت بیشتری وب‌گردی کنیم؟ | اخبار فناوری اطلاعات

    [...] این پروتکل را به سایت خود بیافزایید می‌توانید ماژول mod_spdy را بر روی سرور آپاچی خود نصب کنید. البته این ماژول هنوز [...]

  22. وب گردی با سرعت تمام! | اخبار فناوری اطلاعات

    [...] این پروتکل را به سایت خود بیافزایید می‌توانید ماژول mod_spdy را بر روی سرور آپاچی خود نصب کنید. البته این ماژول هنوز [...]

  23. Opera's 'SPDY' Sense Tingling in Labs Release | Matias Vangsnes

    [...] you’d like to get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta release) or read up on Nginx’s preliminary [...]

  24. Opera’s ‘SPDY’ Sense Tingling in Labs Release | Biz Op Geek

    [...] you’d like to get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta release) or read up on Nginx’s preliminary [...]

  25. Opera’s ‘SPDY’ Sense Tingling in Labs Release | freecsswebsitetemplates.com

    [...] you’d like to get your possess site portion over SPDY, check out mod_spdy, a SPDY procedure for a Apache server (currently a beta release) or review adult on Nginx’s rough [...]

  26. Opera’s ‘SPDY’ Sense Tingling in Labs Release | Matias Vangsnes

    [...] you’d like to get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta release) or read up on Nginx’s preliminary [...]

  27. | Web Design Florida Organization

    [...] you’d like to get your own site serving over SPDY, check out mod_spdy, a SPDY module for the Apache server (currently a beta release) or read up on Nginx’s [...]

  28. Nathan

    I’ll be giving mod spdy a try, seems to be just what I was looking for to use with my practice web development. Thaank you.

  29. سرور,سرور ویندوز,Dedicated Server

    Woah this weblog is magnificent i like reading your posts. Keep up the good work! You understand, many persons are searching around for this info, you can help them greatly.

  30. oldasedas

    Hello every booody helllo

  31. cocoon bobbins

    Bryan & Matthew, valuable information and excellent clarity you got here! I find your information very helpful. It will help me about related matter. Thanks a lot for sharing!

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
And here's a tool to convert HTML entities