如何对Rails应用程序的启动进行基准测试



我把Rails应用程序放在Heroku上,现在我发现它的启动时间非常慢。我的意思是,当我第一次在Heroku上访问我的网站(使用浏览器)时,显示索引页面需要太多时间,但当我之后浏览网站时,请求需要正常时间。

那么,我如何看待这个"第一次"请求需要花费这么多时间呢?

这很正常,因为您没有为您的dyno付费,第一个dyno将在一定时间后闲置。

http://devcenter.heroku.com/articles/dynos

只有1个网络dyno的应用程序将在一段时间后闲置。网络dyno将关闭。当一个请求进入闲置的应用程序时,你的网络dyno将自动恢复,导致第一个请求延迟几秒钟。后续请求将正常执行。

拥有1个以上网络dyno的应用程序永远不会被闲置。工人们决不会无所事事。

如果你想看看发生了什么,你可以使用命令(从你的安装目录)

heroku日志

它将显示服务器的日志。

在我的暂存环境中,如果我现在查询(当我的dyno空闲时),我可以在日志中看到

2012-02-18T12:17:24+00:00 heroku[web.1]: Unidling
2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from down to created
2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from created to starting
[.....]
2012-02-18T12:17:42+00:00 heroku[router]: GET [...] dyno=web.1 queue=0 wait=0ms service=9ms status=200 bytes=0

=>我花了大约20秒的时间来完成我的第一个请求。

相关内容

  • 没有找到相关文章

最新更新