我有一个 Rails 应用程序,位于此处的 Ubuntu 9.10 服务器上:
如果您最初点击它,则需要大约 4 秒钟才能完成初始加载。加载完成后,服务器几乎立即响应。有没有想过为什么初始 http 请求如此缓慢?它绝对不应该在第一次加载时这么慢,尤其是因为它几乎是纯文本且没有 DB 调用。
以下是一些信息:
Ruby 1.9.1-p376 Rails 2.3.5 Gem 1.3.5 MySQL 5.1
答案1
答案2
您应该更新原始问题以包含 AWS、Apache HTTPd 和 Mod_Rails/Phusion Passenger 等信息。
要回答您的问题,您应该阅读 Phusion Passenger 的 Apache HTTPd 文档中的 Spawn 设置。
http://www.modrails.com/documentation/Users%20guide%20Apache.html#RailsSpawnMethod
听起来您处于保守的生成模式,此外,直到向站点发出第一个请求后才会生成第一个节点。因此,我并不惊讶于完整的 rails 环境从磁盘加载、注入 ruby vm 并进行设置需要 7 秒钟。
您还应该查看 RailsAppSpawnerIdleTime 并确保它足够高,这样您生成的 rails 实例就不会被回收。我假设这是一个专用于托管此站点的 AWS 实例,因此它很可能应该设置为 0(禁用),并设置可以生成的最大节点数。