gpt4 book ai didi

ruby-on-rails - 对 Rails 应用程序的第一个请求非常慢

转载 作者:可可西里 更新时间:2023-11-01 15:21:14 25 4
gpt4 key购买 nike

我的 Rails 应用程序的第一个请求(工作 session )总是滞后的。切换到生产模式没有帮助。

我使用 mongrel,其他请求的处理速度可以接受。

如何让它更快?

问候

最佳答案

如果您在处理第一个请求时发布日志内容,那么也许我们可以找出是什么让它如此缓慢。例如,这是我在第一个用户访问网站时的日志

Booting Mongrel (use 'script/server webrick' to force WEBrick)    
Rails 2.1.0 application starting on http://0.0.0.0:3000
Debugger enabled
Call with -d to detach
Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/mime_type.rb:66: warning: already initialized constant CSV
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:3000
** Use CTRL-C to stop.


Processing SessionsController#new (for 127.0.0.1 at 2009-05-26 12:26:00) [GET]
Session ID: de2acf074759026e1ed6205724f547a9
Parameters: {"action"=>"new", "controller"=>"sessions"}
Rendering sessions/new
Completed in 0.00587 (170 reqs/sec) | Rendering: 0.00298 (50%) | DB: 0.00092 (15%) | 200 OK [http://localhost/]

我认为 170 次请求/秒对于我们的应用来说已经足够了,但其他人可能会觉得太慢了。您可以从 Rails 提供的统计数据中看出,一半的所需时间用于呈现响应 - 在本例中为登录屏幕生成 HTML。如果此请求需要很长时间,我的第一个停靠点将是与登录屏幕关联的 View 和助手。

如果您确实有一个系统需要很长时间才能在第一次请求时自行初始化,那么为什么不偷偷摸摸地编写您自己的启动程序,该程序首先运行 rails,然后通过 curl 发送一个假请求。这样您的用户永远不会发现问题。

克里斯

关于ruby-on-rails - 对 Rails 应用程序的第一个请求非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/909225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com