只是想知道是否有人有在 Apache 上使用 Google SPDY 的经验?http://code.google.com/p/mod-spdy/
我运行了几个 Web 服务器,并且想知道 mod_spdy Apache 模块是否存在问题,以及是否有人看到支持 SPDY 的浏览器的速度明显提升?
答案1
我是 mod_spdy 的开发人员之一。目前,该模块相当稳定,完全符合 SPDY/2 标准(早期的一位发帖人错误地声称它不支持多路复用。这是不正确的)。话虽如此,它不如 mod_ssl 等核心 Apache 模块稳定。我认为它是一个“测试版”模块,适合在可以容忍一些问题的环境中使用。目前有一些网站正在成功使用 mod_spdy。
我们正在积极致力于使模块完全投入生产,并计划在几个月内发布 DEB/RPM 包(除了支持从源代码构建)。
我们将在论坛上宣布软件包的可用性和其他更新:https://groups.google.com/group/mod-spdy-discuss如果您想了解 mod_spdy 的最新动态,请加入该小组。谢谢!
PS:Steve 提到“例如,其 SPDY 协议的实现只是一个 svn 外部引用,它引入了 Chromium C++ 源代码树的一部分。”我想澄清的是,这对于 mod_spdy 或任何其他符合 SPDY 的 C++ 组件来说绝对是正确的做法。SPDY 仍在快速变化,因此通过利用 Chromium 的核心 SPDY 编码/解码逻辑,我们可以在 SPDY 协议发生变化时保持同步和最新状态。在我看来,以任何其他方式做到这一点都是错误的。
RE:SSL 是的,您需要为 SSL 支付少量罚款,但是对于除了最简单的网页之外的所有网页,SPDY 的性能优势将弥补 SSL 开销,并为您的用户提供安全的连接。
答案2
我曾经在个人网站上试用过 mod_spdy,纯粹是出于好奇。Apache mod_spdy 应该被视为 pre-alpha 版本;它基本上是一个尖峰实施并且远未达到生产质量。例如,其对 SPDY 协议的实现只是一个 svn 外部引用,它拉取了铬C++ 源代码树。目前它无法实现 SPDY 的一些重要功能,例如多路复用。因此,我发现使用它时性能有所下降(很大程度上是因为需要强制使用 SSL 和使用 FCGI)。
无论如何,我不清楚 Apache 是否是放置 SPDY 的正确位置;如今 Apache 更像是一个应用程序容器;缓存层(Nginx 或 Varnish)似乎更合适。
综上所述...
mod_spdy wiki 包含一些针对 Debian 的构建说明,但我不推荐他们的方法,因为它会修改已安装的系统。相反,我建议在 /opt 下构建一个全新的 Apache/SSL 安装并从那里运行它;这为您提供了一个简单的回滚选项。执行此操作的粗略步骤如下:
- 使用 NPN 实现修补 OpenSSL 并安装
- 根据此 SSL 实现构建 Apache,启用混合引擎和您需要的任何模块
- 如果你需要 PHP,你需要针对 Apache 构建 mod_fcgid
- 将您现有的站点配置移植到这个新的 Apache 安装并测试
- 构建并安装 mod_spdy;这需要 Google 的 depot_tools
- 配置非 SSL 站点以推送“备用协议”标头(使用 mod_headers)
- 禁用现有的 Apache 并设置 SPDY 版本的初始化脚本
- 观察不到性能改进,并且站点可能不稳定:)