1

我目前正在 Heroku 上运行一个简单的 Rails 应用程序。但是,它似乎真的很慢。可能是因为我的 Rails 应用程序配置为在 Webbrick 上运行吗?

我环顾四周,听说了“瘦”和“lighttpd”。

这些网络服务器有什么区别?当涉及到 rails 时,lighttpd 是一个选项吗?- 运行我的 Rails 应用程序会更好,因为它是基于 ruby​​ 的?很抱歉问题的数量,对网络服务器不是很技术性。

4

2 回答 2

1

您的问题有点泛滥,所以我会回答主题,但目前无法提供技术帮助。

lighttpd 是一个 HTTP 服务器。它真的什么也没做。其他编程框架使用 FastCGI 来处理请求。LighttpdOnRails是关于设置 Rails 以在 lighttpd 上运行的一个很好的演练。如果您只使用 Rails,您可能需要其中一种替代方法,但 lighttpd 提供了其他方法所没有的极大灵活性。(自插:我维护crosslight,一个使 lighttpd 安装和配置变得容易的工具)。

Webbrick 是用于 Rails 应用程序的专用服务器组件。您的应用程序将其作为库包含,并自行启动。对于独立的应用程序来说,这是一个很好的解决方案。

Thin 是一个专用的 servlet 容器。它是一个独立软件,可将您的代码作为库运行。它允许您的代码更加模块化,因为它负责配置所有内容。

如果您认真地认为 Webbrick 是您的性能瓶颈,那么您接下来可能会想尝试 Thin。如果它仍然运行缓慢,并且您想尝试一下 ligghtpd,那就去尝试一下,但那时它可能是您的应用程序。

我很抱歉没有对性能问题给出更具体的答案,但希望这能解决处理这些工具的更大问题。

于 2012-04-28T15:18:47.853 回答
1

如果您将 Rails 应用程序部署到 Heroku,请确保添加

gem "thin"

进入你的Gemfile.

这很容易忘记,但它有很大的不同。

于 2012-04-28T17:10:37.670 回答