我目前正在heroku上运行一个简单的rails应用程序。但是,它似乎真的很慢。可能是因为我的rails应用程序配置为在Webbrick上运行吗?
我环顾四周,听说过“瘦身”和“lighttpd”。
这些网络服务器有什么区别?对于rails来说,lighttpd是一个选择吗? - 从ruby开始,我的rails应用程序是否更好?对于问题的数量感到抱歉,与Web服务器不太相关。
答案 0 :(得分:1)
您的问题有点遍及,所以我会回答这个主题,但此时无法提供技术帮助。
lighttpd是一个HTTP服务器。它真的没有别的。其他编程框架使用FastCGI来处理请求。 LighttpdOnRails是设置Rails以在lighttpd上运行的一个很好的演练。如果你只是在做Rails,你可能想要一个替代方案,但lighttpd提供了其他人没有的巨大灵活性。 (自我插件:我维护crosslight,这是一个轻松实现lighttpd安装和配置的工具。
Webbrick是rails应用程序的专用服务器组件。您的应用程序将其作为库包含在内,并自行启动。对于独立的应用程序,这是一个很好的解决方案。
Thin是一个专用的servlet容器。它是一个独立的软件,可以将您的代码作为库运行。它允许您的代码更加模块化,因为它负责配置所有内容。
如果您认真思考Webbrick是您的性能瓶颈,那么您可能希望尝试Thin next。如果它仍然运行缓慢,并且你想给ligghtpd一个镜头,那就去吧,但那可能是你的应用程序。
我为没有针对性能问题的更具体的答案而道歉,但希望这能解决处理这些工具的更大问题。
答案 1 :(得分:1)
如果要将一个rails应用程序部署到Heroku, 确保添加
gem "thin"
进入Gemfile
。
这是一件容易忘记的事情,但它会带来很大的不同。