【发布时间】:2011-12-16 22:41:05
【问题描述】:
我有一个 Ruby CGI 脚本,我在我的 Web 应用程序中使用它。问题是,这个脚本经常被使用而且它很大——我加载了很多宝石。这会导致启动时间较长。我知道 Ruby 1.9.3 改进了启动时间,但这还不够。
有哪些方法可以缩短启动时间?
【问题讨论】:
标签: ruby performance time cgi startup
我有一个 Ruby CGI 脚本,我在我的 Web 应用程序中使用它。问题是,这个脚本经常被使用而且它很大——我加载了很多宝石。这会导致启动时间较长。我知道 Ruby 1.9.3 改进了启动时间,但这还不够。
有哪些方法可以缩短启动时间?
【问题讨论】:
标签: ruby performance time cgi startup
将您的脚本/应用程序修改为Rack application。完成此操作后,您将能够使用 Rack 的处理程序来处理更快的 FCGI 或 SCGI 或其他快速 CGI 处理程序。
【讨论】:
如果您想要良好的性能,请使用持久服务器技术,而不是 CGI。众所周知,CGI 在任何语言中都很慢。您需要将代码持久化在服务器上以完全消除启动时间。
我会查看Sinatra,它与 CGI 一样易于开发。设置也很容易。您可以使用许多服务器解决方案,例如乘客(加载到 apache 中,例如作为 mod_passenger,很像 mod_cgi)。 Sinatra 框架中甚至还内置了一个独立的服务器——超级简单。
【讨论】: