微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何对我的Rails应用程序的启动进行基准测试?

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

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

解决方法

这是正常的,因为你不支付你的动力,并且在一段时间之后第一个dyno会闲置.

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

Apps that have only 1 web dyno will be idled out after a period of inactivity. The web dyno will be shut down. When a request comes in to an idled app your web dyno will be automatically spun back up,causing a few second delay for this first request. Subsequent requests will perform normally.

Apps that have more than 1 web dyno are never idled out. Workers dynos are never idled out.

如果要查看发生了什么,可以使用该命令(从您的安装目录)

heroku logs

它将显示您的服务器的日志.

在我的临时环境中,如果我现在查询(当我的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秒来满足我的第一次请求.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐